从《SQL21自学通》一书的内容概览来看,本书旨在为读者提供全面而深入的SQL学习资源,尤其适合初学者和希望提升SQL技能的专业人士。以下是对书中提到的关键知识点的详细阐述: ### 第一天:SQL简介 #### SQL简史 SQL(Structured Query Language,结构化查询语言)是一种用于管理关系型数据库的标准语言,由IBM的程序员在1970年代初期开发。最初被称为SEQUEL(Structured English Query Language),后来简化为SQL。SQL在1986年被ANSI采纳为标准,并在1987年被ISO认可。 #### 数据库简史 数据库的概念可以追溯到古代,人们使用纸质记录进行数据存储。但现代意义上的数据库始于20世纪60年代,随着计算机技术的发展,出现了层次模型和网状模型的数据库系统。到了70年代,关系型数据库模型由E.F. Codd提出,极大地推动了数据库技术的发展,SQL正是为了操作这种类型数据库而设计的。 #### 设计数据库的结构 设计数据库结构时,需要考虑实体(数据对象)、属性(实体的特征)以及实体之间的关系。这通常涉及到创建ER(Entity-Relationship)图,然后将其转化为具体的数据库表结构。设计时还应考虑到数据的完整性、安全性以及性能优化。 #### SQL总览 SQL是一种声明性语言,用户只需告诉数据库要做什么,而无需关心如何实现。它包括数据定义语言(DDL)、数据操纵语言(DML)、数据控制语言(DCL)和数据查询语言(DQL)四大类命令。 #### 流行的SQL开发工具 包括但不限于:Oracle SQL Developer、MySQL Workbench、Microsoft SQL Server Management Studio、Toad for Oracle、phpMyAdmin等。这些工具提供了图形界面,使数据库的管理和查询变得更加直观和高效。 ### 第二天:查询——SELECT语句的使用 #### SELECT语句的使用 SELECT语句是SQL中最常用的数据查询语句,用于从数据库中检索数据。其基本格式为:`SELECT column1, column2, ... FROM table_name;` 其中column1, column2等代表要检索的列名,table_name代表数据表的名称。 #### 一般的语法规则 SELECT语句可以包含各种子句,如WHERE子句(过滤条件)、GROUP BY子句(分组)、HAVING子句(过滤分组后的结果)、ORDER BY子句(排序)等。 #### 你的第一个查询 例如,查询某个数据库表中所有员工的名字和薪资,可以写成:`SELECT name, salary FROM employees;` ### 第三天:表达式、条件语句与运算 #### 表达式 在SQL中,表达式是由常量、变量、操作符、函数和子查询组成的组合体,用于计算一个结果值。 #### 条件语句 主要用于WHERE子句中,根据特定条件过滤数据,如:`WHERE salary > 50000;` ### 第四天:函数 #### 汇总函数 包括COUNT(计数)、SUM(求和)、AVG(平均值)、MAX(最大值)、MIN(最小值)、VARIANCE(方差)、STDDEV(标准差)等,用于对数据进行统计分析。 #### 日期/时间函数 如ADD_MONTHS(加月)、LAST_DAY(上个月最后一天)、MONTHS_BETWEEN(两日期间月份数)、NEW_TIME(转换时区)、NEXT_DAY(下个星期几)、SYSDATE(系统当前日期时间)等。 #### 数学函数 包括ABS(绝对值)、CEIL和FLOOR(向上/向下取整)、COS/SIN/TAN(三角函数)、EXP(指数)、LN/LOG(自然/常用对数)、MOD(求余数)、POWER(幂)、SIGN(符号函数)、SQRT(平方根)等。 #### 字符函数 如CHR(ASCII码转字符)、CONCAT(字符串连接)、INITCAP(首字母大写)、LOWER/UPPER(转换大小写)、LPAD/RPAD(左/右填充)、LTRIM/RTRIM(左/右去除空格)、REPLACE(替换字符)、SUBSTR(提取子串)、TRANSLATE(字符转换)、INSTR(查找位置)、LENGTH(字符串长度)等。 #### 转换函数 如TO_CHAR(数字或日期转字符串)、TO_NUMBER(字符串转数字)。 #### 其它函数 GREATEST与LEAST(最大/最小值)、USER(获取当前用户信息)。 ### 第五天:SQL中的子句 #### WHERE子句 用于指定查询条件,过滤结果集。 #### STARTING WITH子句 用于LIKE操作符的替代,匹配字符串开头。 #### ORDER BY子句 用于对结果集进行排序。 #### GROUP BY子句 用于将数据按指定列分组。 #### HAVING子句 用于过滤GROUP BY子句后的分组结果。 ### 第六天:表的联合 #### 等值联合 将具有相同列的多个表合并成一个结果集。 #### 不等值联合 联合不同列或结构的表。 #### 外部联合与内部联合 内部联合只返回两个表中匹配的行;外部联合会返回所有行,对于没有匹配的行,另一表中的对应列显示为NULL。 ### 第七天:子查询 #### 子查询 是在另一个查询语句中的查询,可用于比较、过滤等。 #### 在子查询中使用汇总函数 如`SELECT * FROM employees WHERE salary > (SELECT AVG(salary) FROM employees);` #### 子查询的嵌套 子查询可以嵌套在其他子查询中,形成多层查询。 #### 相关子查询 子查询依赖于外部查询的参数,每次外部查询执行时,子查询都会重新执行。 ### 第八天:操作数据 #### 插入语句 如INSERT VALUES语句(插入具体值)、INSERT SELECT语句(从一个表插入到另一个表)。 #### UPDATE语句 用于更新现有行的值。 #### DELETE语句 用于删除表中的行。 #### 从外部数据源中导入和导出数据 包括从Microsoft Access、Microsoft and Sybase SQL Server、Personal Oracle 7等导入导出数据的方法。 ### 第九天:创建和操作表 #### CREATEDATABASE语句 用于创建新的数据库。 #### CREATETABLE语句 用于创建新表。 #### ALTERTABLE语句 用于修改现有表的结构。 #### DROPTABLE语句 用于删除表。 #### DROPDATABASE语句 用于删除整个数据库。 ### 第十天:创建视图和索引 #### 使用视图 视图可以看作是一个虚拟的表,其内容由存储在基本表中的数据组成,可以简化数据操作,提高数据的安全性和易用性。 #### 创建索引 索引类似于图书的索引,可以加快数据的检索速度,但会占用额外的存储空间并可能影响写入性能。 通过以上对《SQL21自学通》一书部分章节的详细解读,我们不仅了解了SQL的基本概念和历史,还掌握了如何使用SQL进行数据查询、数据操作、表和数据库的管理等技能。这对于数据库管理员、软件开发者以及其他需要与数据库打交道的职业来说,是非常实用和必要的知识。











剩余567页未读,继续阅读

- #完美解决问题
- #运行顺畅
- #内容详尽
- #全网独家
- #注释完整

- 粉丝: 1
- 资源: 8
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 印度尼西亚地址库整理,用的上的自己取
- 1995-2022年 网络媒体关注度、报刊媒体关注度与媒体监督相关数据.zip
- 2024年省市县三级行政区划数据(审图号:GS(2024)0650号).zip
- 2002-2023年 上市公司-企业客户稳定度数据.zip
- 2000-2022年 世界环境绩效数据(EPI).zip
- 2024年 中国统计年鉴excel整理版.zip
- 2000-2022年 省、地级市产业集聚水平数据.zip
- 2005-2022年 中国与RCEP进出口贸易引力模型面板数据.zip
- 2005-2022年 地级市-税收竞争数据.zip
- 1914-2024.3 世界各国汇率、利率相关数据.zip
- 2024年转段考试建工大类(建工、造价、检测)考试试题和答案
- 2024土木分院分类招生面试题
- 2024工程测量技术专业分类招生考试题-320.rar
- swift环境搭建,入门教程
- Gaussian-Filter
- 第8节模型预测控制在运动规划中的应用


