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

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

相关推荐
m0_561359673 小时前
掌握Python魔法方法(Magic Methods)
jvm·数据库·python
xxxmine3 小时前
redis学习
数据库·redis·学习
qq_5470261793 小时前
Redis 常见问题
数据库·redis·mybatis
APIshop3 小时前
Java 实战:调用 item_search_tmall 按关键词搜索天猫商品
java·开发语言·数据库
小陈phd4 小时前
混合知识库搭建:本地Docker部署Neo4j图数据库与Milvus向量库
数据库·docker·neo4j
2401_838472514 小时前
使用Python进行图像识别:CNN卷积神经网络实战
jvm·数据库·python
知识即是力量ol4 小时前
基于 Redis 实现白名单,黑名单机制详解及应用场景
数据库·redis·缓存
zhihuaba4 小时前
使用PyTorch构建你的第一个神经网络
jvm·数据库·python
u0109272714 小时前
Python Web爬虫入门:使用Requests和BeautifulSoup
jvm·数据库·python