数据库相关知识点
数据库范式有 3 种:
1NF(第一范式):属性不可再分。
2NF(第二范式):1NF 的基础之上,消除了非主属性对于码的部分函数依赖。
3NF(第三范式):3NF 在 2NF 的基础之上,消除了非主属性对于码的传递函数依赖 。
聚簇索引和非聚簇索引的区别:
InnoDB 一张表有 1 个聚簇索引(主键索引),其余都是二级索引(非聚簇索引);
MyISAM 全部是非聚簇索引。
聚簇:索引的叶子节点,直接存放完整的一行数据。索引和数据绑定在一起,数据按照主键顺序存放
非聚簇:叶子节点不存整行数据,存主键值。查到主键后,再去主键索引里找完整数据 → 这个动作叫回表。
DROP、DELETE 和 TRUNCATE的区别
DROP命令:
语法:DROP TABLE 表名
作用:完全删除整个表,包括表结构、数据、索引、触发器、约束等所有相关对象
使用场景:当表不再需要时使用
TRUNCATE命令:
语法:TRUNCATE TABLE 表名
作用:清空表中所有数据,但保留表结构
特点:自增长字段(AUTO_INCREMENT)会重置为初始值(通常为1)
使用场景:需要快速清空表数据但保留表结构时使用
DELETE命令:
语法:DELETE FROM 表名 WHERE 条件
作用:删除满足条件的数据行,不带WHERE子句时删除所有数据
特点:自增长字段不会重置,继续从之前的值递增
使用场景:需要有选择地删除部分数据时使用
对表结构的影响
DROP:删除表结构和所有数据,表将不复存在
TRUNCATE:仅删除数据,保留表结构和定义
DELETE:仅删除数据,保留表结构和定义
触发器
DELETE 操作会触发相关的DELETE触发器
TRUNCATE 和 DROP 不会触发DELETE触发器
事务和回滚
DROP 和 TRUNCATE 属于DDL操作,执行后立即生效,不能回滚
DELETE 属于DML操作,可以回滚(在事务中)

浙公网安备 33010602011771号