1.添加语句

2.子查询

3.别名问题

4.编写顺序


5.执行顺序


6. 修改自己表的元素的A属性跟自己表的其他元素的A属性一样,需要外层套循环来避免can`t specify table 的问题

外层套个select * from......这样只是多个别名来避免错误
7.把查到的内容放到新表中

8.EXIST
8.1没关联的时候,含EXIST的子查询

8.2含关联条件的EXIST子查询

9.约束和索引的区别

10.主键
数据库中的主键(Primary Key,PK)是唯一标识表中每一行记录的字段或字段组合。

10.1一个表中只能有一个主键
区分复合主键
10.2主键约束的属性不可以为null

10.3 主键约束字段不可以重复
复合主键(由多个字段组合而成的主键)中,每一个组成字段都不允许为 NULL,这是数据库主键的核心规则之一。
11.唯一键约束
11.0唯一键约束和主键约束的区别

11.1 unique key修饰的字段不可以重复

复合唯一键

12. 非空约束
13.默认键约束
14.检查键约束


第二个图检查检查的不是全部字段,但是可以检查括号内的复合字段:

15.外键约束(默认为RESTRICT = MySQL等价于No ACTION)

15.1 外键引用必须是主表的唯一键或主键

15.2 如果从表没有删除,外键约束也没有解除,那么主表不能删除。


15.3 添加从表记录时,外键约束的字段值,必须在主表中可以找到的,否则就报错。




15.4 修改从表记录时,外键约束的字段值,必须在主表中可以找到的,否则就报错。


15.5 修改主表记录时,被引用字段的值不能修改,例如:1001被引用了,1001不能被修改

15.6 删除主表记录时,被引用字段值的行不能被删除,例如:1001被引用了,1001这行不能删除

15.7 问:怎么选择外键约束的UPDATE和DELETE策略

16. 修改表字段到首位,无法修改到末尾


17.在有默认约束的基础上增加非空约束

18.增加与删除自增约束

19.DML截断表没法回滚

truncate截断表之后没法回滚示例


20.读脏数据


