SQL自学之旅:21天掌握核心概念

需积分: 13 3 下载量 128 浏览量 更新于2024-07-20 收藏 2.56MB PDF 举报
"SQL21日自学通" 是一本针对SQL初学者的教程,通过21天的学习计划,系统地介绍了SQL的基础知识和常用操作。该资料由一位名为"笨猪"的译者翻译,提供了丰富的学习内容,包括SQL的历史、数据库设计、查询语句、表达式、函数、子句等。 1. **SQL简介**:SQL(Structured Query Language)是用于管理和处理关系型数据库的标准语言。它用于查询、更新和操作数据,以及创建和管理数据库结构。 2. **数据库简史**:SQL的发展与关系数据库模型的发展密切相关,由IBM的研究员在1970年代提出,经过几十年的发展,已经成为数据库管理系统的标准。 3. **设计数据库的结构**:这部分讲解如何规划和设计数据库,包括表的创建、字段选择、键的设定以及关系设计,强调了数据库的规范化和数据完整性。 4. **SQL总览**:涵盖了SQL的主要功能,如SELECT语句、INSERT、UPDATE、DELETE等,以及DML(数据操纵语言)和DDL(数据定义语言)的区别。 5. **SELECT语句**:这是SQL中最常用的查询语句,用于从数据库中检索数据。讲解了其基本语法,包括目标、背景、一般规则,并通过实例进行演示。 6. **表达式和条件语句**:介绍如何使用算术、比较和逻辑运算符来构建复杂的查询条件,以及如何结合WHERE子句筛选数据。 7. **函数**:详细讲解了多种函数的用法,包括汇总函数(COUNT、SUM、AVG、MAX、MIN等)、日期/时间函数、数学函数、字符函数和转换函数等,这些函数增强了数据处理的能力。 8. **子句**:涵盖WHERE、STARTING WITH、ORDER BY、GROUP BY和HAVING子句,这些都是SQL查询中的关键组成部分,用于数据过滤、排序、分组和复杂条件的应用。 9. **WHERE子句**:用于在查询中指定特定的条件,限制返回的数据行。 10. **ORDER BY子句**:根据一个或多个列对结果集进行排序。 11. **GROUP BY子句**:用于将数据按列进行分组,常与聚合函数一起使用。 12. **HAVING子句**:在聚合数据后进行条件筛选,类似于WHERE子句,但用于GROUP BY后的数据。 13. **综合应用**:通过实例展示了这些概念如何在实际问题中结合起来使用,提供问与答环节帮助巩固理解,并设有校练场和练习题供读者实践。 这个自学通教程为读者提供了一个全面且逐步深入的学习路径,通过21天的学习,读者可以掌握SQL的基本概念和操作,为进一步的数据库管理和数据分析打下坚实基础。

case 3: { system("CLS"); cout << "———————————————————————————————————————————————————修改图书信息—————————————————————————————————————————————————————\n" << endl; printf("|修改书籍信息|\n"); //修改数据 成功返回1,查询失败返回0 cout << "请输入要修改的书籍ID:"; cin >> book_id; cout << "请输入变更的书名:"; cin >> name; cout << "请输入变更数量:"; cin >> number; cout << "请输入变更价格:"; cin >> price; cout << "请输入变更后作者:"; cin >> author; cout << "请输入变更后类型:"; cin >> type; sql = "update books set books_name ='《" + name + "》',books_number =" + to_string(number) + ",books_price =" + to_string(price) + ",books_author ='" + author + "',books_type ='" + type + "' where books_id = " + to_string(book_id); if (mysql_query(&mysql, sql.c_str())) { cout << "Error: Query[update] fail." << endl; break; } cout << "update success." << endl; cout << "——————————————————————————————————————————————————————————————————————————————————————————————————————————————————\n" << endl; break; }将这段c++代码改成可选择修改各个信息

2023-05-31 上传
2023-06-01 上传