MySQL知识点摘记——索引基本操作

时间:2023-02-02 11:45:59

【创建和查看普通索引】

(1)创建表时创建普通索引

CREATE TABLE table_name(
字段名 数据类型,
字段名 数据类型,
……
INDEX|KEY 索引名(字段名 (长度) (ASC|DESC))
);
示例:
CREATE TABLE t_dept(
deptno INT,
dname VARCHAR(20),
loc VARCHAR(40),
INDEX index_deptno(deptno)
);

(2)在已经存在的表上创建普通索性

CREATE INDEX 索引名
ON 表名(字段名 (长度) (ASC|DESC));
示例:
CREATE INDEX index_deptno
ON t_dept(deptno);

(3)用过SQL语句ALTER TABLE创建普通索引

ALTER TABLE table_name
ADD INDEX|KEY 索引名(字段名 (长度) (ASC|DESC));
示例:
ALTER TABLE t_dept
ADD INDEX index_deptno(deptno);

(4)校验索引是否创建成功

SHOW CREATE TABLE table_name \G

(5)校验索引是否被使用

EXPLAIN SELECT * FROM table_name WHERE 字段名=1 \G

【创建和查看唯一索引】

(1)创建表时创建唯一索引

CREATE TABLE table_name(
字段名 数据类型,
字段名 数据类型,
……
UNIQUE INDEX|KEY 索引名(字段名 (长度) (ASC|DESC))
);
示例:
CREATE TABLE t_dept(
deptno INT,
dname VARCHAR(20),
loc VARCHAR(40),
UNIQUE INDEX index_deptno(deptno)
);

(2)在已经存在的表上创建普通索性

CREATE UNIQUE INDEX 索引名
ON 表名(字段名 (长度) (ASC|DESC));
示例:
CREATE UNIQUE INDEX index_deptno
ON t_dept(deptno);

(3)用过SQL语句ALTER TABLE创建普通索引

ALTER TABLE table_name
ADD UNIQUE INDEX|KEY 索引名(字段名 (长度) (ASC|DESC));
示例:
ALTER TABLE t_dept
ADD UNIQUE INDEX index_deptno(deptno);

(4)校验索引是否创建成功

SHOW CREATE TABLE table_name \G

(5)校验索引是否被使用

EXPLAIN SELECT * FROM table_name WHERE 字段名=10 \G