mysql 数据库中的索引和外键类型说明和使用
mysql 索引
mysql 中的索引就像一本书的目录,能够提高检索效率,快速定位要找的内容
mysql 数据库中主要有
两种索引方法:BTREE 和 Hash 索引。
四种索引类型:
- NORMAL(普通索引类型),适用范围广。
- UNIQUE(唯一索引),不能重复,主键自动拥有该索引。
- FULLTEXT(全文索引),检索较长的文本文件效果较好
- SPATIAL(空间索引),对空间地理位置数据类型建立索引。
如何加索引
alter table 表名 add constraint 约束名称 约束类型 (列名) references 被引用的表名称(列名)
mysql 外键约束
建立两个表之间的连接的一列或多列联系,表示一个表中的字段被另一个表的字段引用。
设置外键更新和删除时的四种外键约束类型
- CASCADE 在父表中 update/delete 记录时,同步 update/delete 子表对应的记录。
- NO ACTION 在父表中 update/delete 记录时,不会 update/delete 子表对应的记录。
- RESTICT 同 NO ACTION,有优先级时有区别。
- SET NULL 在父表中 update/delete 记录时,将字表匹配的列设为 NULL,字表外键列不能为 NOT NULL。