索引操作

索引的操作

1.索引的创建
创建表时创建普通索引
CREATE TABLE table_name(
属性名 数据类型,
属性名 数据类型,
.....
属性名 数据类型,
INDEX | KEY 【索引名】(属性名1 【(长度)】【ASC | DESC】);
);

eg:
CREATE TABLE t_dept(
deptno INT,
dname VARCHAR(20),
loc VARCHAR(40),
INDEX index_deptno(deptno)
);


在已经存在的表上创建普通索引
CREATE INDEX 索引名
ON 表名(属性名 【(长度)】【ASC|DESC】);

eg:
CREATE INDEX index_deptno
ON t_dept (deptno);


通过ALTER TABLE创建普通索引
ALTER TABLE table_name
ADD INDEX | KEY 索引名(属性名 【(长度)】【ASC|DESC】);

eg:
ALTER TABLE t_dept
ADD INDEX index_deptno(deptno);


创建表时创建唯一索引
CREATE TABLE table_name(
属性名 数据类型,
属性名 数据类型,
.....
属性名 数据类型,
UNIQUE INDEX|KEY 【索引名】(属性名1 【(长度)】【ASC|DESC】);

eg:
CREATE TABLE t_dept(
deptno INT UNIQUE,
dname VARCHAR(20),
loc VARCHAR(40),
UNIQUE INDEX index_deptno(deptno)
);

在已经存在的表上创建唯一索引
CREATE UNIQUE INDEX 索引名
ON 表名(属性名 【(长度)】【ASC|DESC】);

eg:
CREATE UNIQUE INDEX index_deptno
ON t_dept (deptno);

通过ALTER TABLE创建唯一索引
ALTER TABLE table_name
ADD UNIQUE INDEX | KEY 索引名(属性名 【(长度)】【ASC|DESC】);

eg:
ALTER TABLE table_name
ADD UNIQUE INDEX index_deptno(deptno):


创建表时创建全文索引
CREATE TABLE table_name(
属性名 数据类型,
属性名 数据类型,
.......
属性名 数据类型,
FULLTEXT INDEX|KEY 【索引名】(属性名1 【(长度)】【ASC|DESC】)
);

eg:
CREATE TABLE t_dept(
deptno INT,
dname VARCHAR(20),
loc VARCHAR(40),
FULLTEXT INDEX index_loc(loc)
) ENGINE=MyISAM;

在已经存在的表上创建全文索引
CREATE FULLTEXT INDEX 索引名
on 表名 (属性名 【(长度)】【ASC|DESC】);

eg:
CREATE FULLTEXT INDEX index_loc
ON t_dept (loc);

通过ALTER TABLE创建全文索引
ALTER TABLE table_name
ADD FULLTEXT INDEX|KEY 索引名(属性名 【(长度)】【ASC|DESC】);

eg:
ALTER TABLE t_dept
ADD FULLTEXT INDEX index_loc(loc);


创建表时创建多列索引
CREATE TABLE table_name(
属性名 数据类型
属性名 数据类型
.......
属性名 数据类型
INDEX | KEY 【索引名】 (属性名1 【(长度)】【ASC|DESC】),
....
属性名n 【(长度)】【ASC|DESC】)
);

eg:
CREATE TABLE t_dept(
deptno INT,
dname VARCHAR(20),
loc VARCHAR(40),
KEY index_dname_loc(dname,loc)
);

在已经存在的表上创建多列索引
CREATE INDEX 索引名
ON 表名(属性名 【(长度)】【ASC|DESC】,
....
属性名 n 【(长度)】【ASC|DESC】
);

eg:
CREATE INDEX index_dname_loc
ON t_dept (dname,loc);

通过ALTER TABLE创建多列索引
ALTER TABLE table_name
ADD INDEX | KEY 索引名(属性名 【(长度)】【ASC|DESC】,
......
属性名 n 【(长度)】【ASC|DESC】
);

eg:
ALTER TABLE t_dept
ADD INDEX index_dname_loc(dname,loc);


2.删除索引
DROP INDEX index_name
ON table_name

eg:
DROP INDEX index_dname_loc
ON t_dept;

原文地址:https://www.cnblogs.com/geeker-xjl/p/11146149.html