最近项目中又用到了索引, 以前用过, 也没记, 所以纠结的我啊, 记录一下, 希望能帮助到你
一、索引
- 索引一般分为三类:
- FULLTEXT: 全文索引
- PRIMARY: 主键索引
- UNIQUE: 唯一索引
二、约束
- 约束一般分为三类:
- PRIMARY KEY: 主键约束
- UNIQUE: 唯一约束
- FOREIGN: 外键约束
- NOT NULL: 非空约束
三、UNIQUE约束和UNIQUE索引比较
- 共同点
- 都能保证记录数据的唯一性, 因为UNIQUE约束是基于UNIQUE索引;
- 不同点
- 如果某列有多个NULL值, 可以添加UNIQUE约束, 但是不能添加UNIQUE索引;
- 创建和删除的关键字不同;
笔记
索引的创建
- 创建表的时候创建索引
CREATE TABLE <table-name> (<column-name> <column-type>[, <column-name> <column-type>[, ...]] [<index-type>] INDEX <index-name>(<column-name>[,<column-name>...]) )
- 给已经存在的表添加索引
- 方式一:
CREATE [<index-type>] INDEX <index-name> ON <table-name> (<column-name-list>)
- 方式二:
ALERT TABLE <table-name> ADD [<index-type>] INDEX <index-name> (<column-name-list>)
- 方式一:
索引的删除
- 删除就一种方式
DROP INDEX <index-name> ON <table-name>