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

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

相关推荐
Python私教2 小时前
从表格到管理系统:别先写页面,先补齐权限、流程和审计
数据库·后端·架构
陈皮波比茶2 小时前
Redis学习
数据库·redis·学习
—Miss. Z—2 小时前
备份与恢复
数据库·oracle
ltl2 小时前
RocksDB Leveled Compaction:层级不变式与 CompactionPicker
数据库
ltl2 小时前
DuckDB 向量化与 Morsel-Driven Pipeline
数据库
NJCloud2 小时前
TiDB 集群部署与 MySQL 兼容性适配实战
linux·运维·数据库·mysql·tidb
喜欢打篮球的普通人3 小时前
LLVM Backend Lowering 从入门到实战:把 IR 变成机器码的完整链路
android·java·数据库
SomeOtherTime5 小时前
Postgresql触发器实现对表的日志审计
数据库·postgresql
这个DBA有点耶5 小时前
Oracle 迁移金仓兼容性评估指南:5 大维度深度拆解
数据库·oracle·架构