1. ●列 ●字段 ●行 ●记录
2. SQL 语句及其种类
DDL
DDL(Data Definition Language,数据定义语言)用来创建或者删除存储 数据用的数据库以及数据库中的表等对象。DDL 包含以下几种指令。
CREATE:创建数据库和表等对象
DROP: 删除数据库和表等对象
ALTER: 修改数据库和表等对象的结构
DML
DML(Data Manipulation Language,数据操纵语言)用来查询或者变更 表中的记录。DML 包含以下几种指令。
SELECT:查询表中的数据
INSERT:向表中插入新数据
UPDATE:更新表中的数据
DELETE:删除表中的数据
DCL
DCL(Data Control Language,数据控制语言)用来确认或者取消对数据 库中的数据进行的变更。除此之外,还可以对 RDBMS 的用户是否有权限 操作数据库中的对象(数据库表等)进行设定。DCL 包含以下几种指令。
COMMIT: 确认对数据库中的数据进行的变更
ROLLBACK :取消对数据库中的数据进行的变更
GRANT: 赋予用户操作权限
REVOKE: 取消用户的操作权限
3. SQL 的基本书写规则
(1): SQL 语句以分号(;)结尾。
(2): 关键字不区分大小写。
(3): 字符串和日期常数需要使用单引号(')括起来。 数字常数无需加注单引号(直接书写数 字即可)。 别名可以使用中文,使用中文时需要用双引号(")括起来。
4.表创建
(1): 数据库名称、表名和列名等可以使用以下三种字符。 ● 半角英文字母 ●半角数字 ●下划线(_)
(2): 名称必须以半角英文字母开头 。
第二章 查询基础
1. DISTINCT 关键字只能用在第一个列名之前。
2. 所有包含 NULL 的计算,结果肯定是 NULL 。
3. 比较运算符
4.NULL值比较 : 希望选取 NULL 记录时,需要在条件表达式中使用 IS NULL 运算符。希望选取不 是 NULL 的记录时,需要在条件表达式中使用 IS NOT NULL 运算符。
5. COUNT 函数的结果根据参数的不同而不同。COUNT(*) 会得到包含 NULL 的数据 行数,而 COUNT(< 列名 >) 会得到 NULL 之外的数据行数。
6. 在 GROUP BY 子句中不能使用 SELECT 子句中定义的别名。
7. 只有SELECT子句和HAVING子句(以及ORDER BY子句)中能够使用聚合函数。
第三章 复杂查询
1. 多重视图会降低 SQL 的性能。
2. 定义视图时不要使用ORDER BY子句。 ( 数据行都是没有顺序的 )
第四章 窗口函数
公式: < 窗口函数 > OVER ([PARTITION BY < 列清单 >]
ORDER BY < 排序用列清单 >)
1. RANK 函数 计算排序时,如果存在相同位次的记录,则会跳过之后的位次。 例)有 3 条记录排在第 1 位时:1 位、1 位、1 位、4 位......
2. DENSE_RANK 函数 同样是计算排序,即使存在相同位次的记录,也不会跳过之后的位次。 例)有 3 条记录排在第 1 位时:1 位、1 位、1 位、2 位......
3. ROW_NUMBER 函数
赋予唯一的连续位次。
例)有 3 条记录排在第 1 位时:1 位、2 位、3 位、4 位......