SQL 分类
| 分类 | 全称 | 说明 | 关键字 |
|---|---|---|---|
| DDL | Data Definition Language | 数据定义语言 | CREATE, ALTER, DROP |
| DML | Data Manipulation Language | 数据操作语言 | INSERT, UPDATE, DELETE |
| DQL | Data Query Language | 数据查询语言 | SELECT |
| DCL | Data Control Language | 数据控制语言 | GRANT, REVOKE |
DDL - 数据定义
数据库操作
表操作
数据类型
整数类型| 类型 | 字节 | 范围(有符号) | 范围(无符号) |
|---|---|---|---|
| TINYINT | 1 | -128 ~ 127 | 0 ~ 255 |
| SMALLINT | 2 | -32768 ~ 32767 | 0 ~ 65535 |
| INT | 4 | -2^31 ~ 2^31-1 | 0 ~ 2^32-1 |
| BIGINT | 8 | -2^63 ~ 2^63-1 | 0 ~ 2^64-1 |
| 类型 | 说明 | 长度限制 |
|---|---|---|
| CHAR(n) | 定长字符串 | 0-255 |
| VARCHAR(n) | 变长字符串 | 0-65535 |
| TEXT | 长文本 | 0-65535 |
| LONGTEXT | 超长文本 | 0-4GB |
| 类型 | 格式 | 说明 |
|---|---|---|
| DATE | YYYY-MM-DD | 日期 |
| TIME | HH:MM:SS | 时间 |
| DATETIME | YYYY-MM-DD HH:MM:SS | 日期时间 |
| TIMESTAMP | YYYY-MM-DD HH:MM:SS | 时间戳(自动更新) |
约束
| 约束 | 关键字 | 说明 |
|---|---|---|
| 主键 | PRIMARY KEY | 唯一标识,非空且唯一 |
| 唯一 | UNIQUE | 值唯一 |
| 非空 | NOT NULL | 不能为空 |
| 默认 | DEFAULT | 默认值 |
| 外键 | FOREIGN KEY | 关联其他表的主键 |
| 自增 | AUTO_INCREMENT | 自动递增 |
DML - 数据操作
INSERT
UPDATE
DELETE
DQL - 数据查询
基本语法
基础查询
条件查询
排序与分页
聚合函数
| 函数 | 说明 |
|---|---|
| COUNT() | 统计数量 |
| SUM() | 求和 |
| AVG() | 平均值 |
| MAX() | 最大值 |
| MIN() | 最小值 |
分组查询
| 对比 | WHERE | HAVING |
|---|---|---|
| 执行时机 | 分组前过滤 | 分组后过滤 |
| 能否用聚合 | ❌ | ✅ |
DCL - 权限控制
用户管理
权限管理
| 权限 | 说明 |
|---|---|
| ALL | 所有权限 |
| SELECT | 查询 |
| INSERT | 插入 |
| UPDATE | 更新 |
| DELETE | 删除 |
| CREATE | 创建 |
| DROP | 删除 |
| ALTER | 修改 |