在不读取整个表的情况下,索引使数据库应用程序可以更快的查找数据
create index 语句用于在表中创建索引
普通索引
创建索引
create index 索引名 on 表(列,列,列); -- 在表上创建一个简单的索引,允许使用重复的值
如果希望以降序索引某个列中的值,可以在列名后添加 desc:
create index 索引名 on 表(列 desc); -- 降序索引列值
修改表结构 ( 添加索引 )
alter table 表 add index 索引名(列);
创建表的时候直接指定索引
create table 表(
列1 int,
列2 char,
index 索引名(列)
);
删除索引的语法
drop index 索引名 on 表; -- 删除索引
唯一索引
CREATE UNIQUE INDEX 索引名 ON 表 (列) -- 在表上创建一个唯一的索引,UNIQUE代表唯一,意味着两个行不能拥有相同的索引值
用 alter 命令添加和删除索引
四种方式添加数据表的索引:
ALTER TABLE 表 ADD PRIMARY KEY (列); -- 添加主键,意味着索引值必须是唯一的,且不能为null
ALTER TABLE tbl_name ADD UNIQUE index_name (column_list); -- 创建索引的值必须是唯一的
ALTER TABLE tbl_name ADD INDEX index_name (column_list); -- 添加普通索引,索引值可出现多次
ALTER TABLE tbl_name ADD FULLTEXT index_name (column_list); -- 该语句指定了索引为 FULLTEXT ,用于全文索引
在表中添加索引
alter table 表 add index(列); -- 在表添加索引,索引名会是列名,我也不知道为啥。。
alter table 表 drop index 列; -- 删除表中索引
使用 alter 命令添加和删除主键
添加主键时,必须确保主键不为空
ALTER TABLE 表 MODIFY 列 INT NOT NULL; -- 设置列不为空
ALTER TABLE 表 ADD PRIMARY KEY (列); --设置列为主键
ALTER TABLE 表 DROP PRIMARY KEY; -- 删除主键
显示索引信息
SHOW INDEX FROM 表; \G -- 查询表中的索引信息