[数据库]应该注意的细节

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.读脏数据

相关推荐
i220818 Faiz Ul5 小时前
计算机毕业设计|基于springboot + vue鲜花商城系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
Apple_羊先森6 小时前
ORACLE数据库巡检SQL脚本--22、检查碎片程度最高的业务表
数据库·sql·oracle
OnYoung7 小时前
更优雅的测试:Pytest框架入门
jvm·数据库·python
山岚的运维笔记8 小时前
SQL Server笔记 -- 第85章:查询提示
数据库·笔记·sql·microsoft·sqlserver
chilavert3188 小时前
技术演进中的开发沉思-371:final 关键字(中)
java·前端·数据库
tryCbest8 小时前
SQL Server数据库
数据库·sql server
_codemonster9 小时前
PreparedStatement 和 Statement的区别
数据库·oracle
恒云客9 小时前
python uv debug launch.json
数据库·python·json