练习库
- 创建个 school 的数据库,字符集是 UTF8
- 可以导入该数据库进行执行
- 可以以文本形式打开该库,复制 SQL 语句进行执行
INNER JOIN
查询两个表中的结果集中的交集
SELECT 字段1, 字段2,... FROM table_1INNER JOIN table_2ON table_1.字段x = table_2.字段y
INNER JOIN 中的 INNER 可以省略不写。建议写全
OUTER JOIN
LEFT OUTER JOIN
以左表为基准,右表与左表进行匹配,匹配不上的,返回左表的记录,右表以 NULL 填充
UPDATE 表名 SET 字段 = 值 , [字段2 = 值2, ...][WHERE 条件] ;
RIGHT OUTER JOIN
以右表为基准,左表与右表进行匹配,匹配不上的,返回右表的记录,左表以 NULL 填充
WHERE 与 运算符
| 运算符 | 描述 | 场景 | 结果 |
|---|---|---|---|
| = | 等于 | 5 = 6 | false |
| <> 或 != | 不等于 | 5 != 6 | true |
| >、< | 大于、小于 | 5 > 6、5 < 6 | false、true |
| >=、<= | 大于等于、小于等于 | 5 >= 6、5 <= 6 | false、true |
| BETWEEN…AND | 在某个范围内 | BETWEEN 5 AND 10 | - |
| AND、OR | 并且 | 5 > 1 AND 1 > 2 | false |
| OR | 或 | 5 > 1 OR 1 > 2 | true |
TRUNCATE
TRUNCATE [TABLE] 表名 ;
- 摧毁整个表,再重新建一个新表,新表的结构和原来的表结构是一样的,不记录日志,速度快
- 重新设置 AUTO_INCREMENT 计数器
- 不会对事务有影响
