【数据库】MySQL如何添加索引
1.使用ALTER TABLE语句创建索性
应用于表创建完毕之后再添加。
1.1语法
ALTER TABLE 表名 ADD 索引类型 (unique,primary key,fulltext,index)[索引名](字段名)
1.2应用
-- 1.添加PRIMARY KEY(主键索引): ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) -- 2.添加UNIQUE(唯一索引) : ALTER TABLE `table_name` ADD UNIQUE ( `column` ) -- 3.添加INDEX(普通索引) : ALTER TABLE `table_name` ADD INDEX index_name ( `column` ) -- 4.添加FULLTEXT(全文索引) : ALTER TABLE `table_name` ADD FULLTEXT ( `column`) -- 5.添加多列索引: ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )
1.3说明
-
ALTER TABLE可用于创建普通索引、UNIQUE索引和PRIMARY KEY索引3种索引格式。
-
创建多列索引时,各列之间用逗号分隔。
-
索引名index_name可选,缺省时,MySQL将根据第一个索引列赋一个名称。
-
ALTER TABLE允许在单个语句中更改多个表,因此可以同时创建多个索引。
2.使用CREATE INDEX语句对表增加索引
用于建表时创建索引,CREATE INDEX可用于对表增加普通索引或唯一索引。
2.1语法
CREATE INDEX [索引名] ON [表名](字段名(length));
如果是CHAR,VARCHAR类型,length可以小于字段实际长度;如果是BLOB和TEXT类型,必须指定 length。
2.2应用
-- 1.添加普通索引 CREATE INDEX index_name ON `table_name` ( `column` ) -- 2.添加唯一索引 CREATE UNIQUE INDEX index_name ON `table_name` ( `column` )
2.3说明
-
index_name 索引名不可选,必须指定。
-
不能用CREATE INDEX语句创建PRIMARY KEY索引。
3. 索引的类型
- PROMARY KEY(主键索引):不允许出现相同的值
- UNIQUE(唯一索引):不可以出现相同的值,可以有NULL值
- INDEX(普通索引):允许出现相同的索引内容
- FULLTEXT (全文索引):可以针对值中的某个单词,但效率确实不敢恭维
- 组合索引:实质上是将多个字段建到一个索引里,列值的组合必须唯一
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南