##普通索引
# 创建表时创建索引
CREATE TABLE t_dept(
deptno INT,
dname VARCHAR(20),
dprice VARCHAR(60),
INDEX index_deptno (deptno)
);
SHOW CREATE TABLE t_dept ;
EXPLAIN SELECT * FROM t_dept WHERE deptno=1;
DROP TABLE t_dept;
# 在现有的表上创建索引
CREATE TABLE t_dept(
deptno INT,
dname VARCHAR(20),
dprice VARCHAR(60)
);
CREATE INDEX index_deptno ON t_dept (deptno);
# alter table 创建索引
ALTER TABLE t_dept ADD INDEX index_deptno (deptno);
SHOW CREATE TABLE t_dept ;
DROP TABLE t_dept;
## 唯一索引
#创建表时唯一索引
CREATE TABLE t_dept(
deptno INT,
dname VARCHAR(20),
dprice VARCHAR(60),
UNIQUE INDEX index_deptno (deptno)
);
EXPLAIN SELECT * FROM t_dept WHERE deptno=1;
DROP TABLE t_dept;
#在现有的表中创建唯一索引
CREATE TABLE t_dept(
deptno INT,
dname VARCHAR(20),
dprice VARCHAR(60)
);
CREATE UNIQUE INDEX index_deptno ON t_dept (deptno);
DROP TABLE t_dept;
# alter table 创建唯一索引
CREATE TABLE t_dept(
deptno INT,
dname VARCHAR(20),
dprice VARCHAR(60)
);
ALTER TABLE t_dept ADD UNIQUE INDEX index_deptno (deptno);
DROP TABLE t_dept;
##全文索引
#创建是创建全文索引 全文索引只能在存储引擎为MyISAM的数据库表上创建
CREATE TABLE t_dept(
deptno INT,
dname VARCHAR(20),
loc VARCHAR(60),
FULLTEXT INDEX index_loc(loc)
) ENGINE = MYISAM;
EXPLAIN SELECT * FROM t_dept WHERE deptno = 10;
DROP TABLE t_dept;
#在已存的表上创建全文索引
CREATE TABLE t_dept(
deptno INT,
dname VARCHAR(20),
loc VARCHAR(60)
)ENGINE = MYISAM;
CREATE FULLTEXT INDEX index_loc ON t_dept (loc);
DROP TABLE t_dept;
# ALTER TABLE 创建全文索引
CREATE TABLE t_dept(
deptno INT,
dname VARCHAR(20),
loc VARCHAR(60)
)ENGINE = MYISAM;
ALTER TABLE t_dept ADD FULLTEXT INDEX index_loc (loc);
SHOW CREATE TABLE t_dept;
DROP TABLE t_dept;
##多列索引
#创建表时创建多列索引
CREATE TABLE t_dept(
deptno INT,
dname VARCHAR(20),
loc VARCHAR(60),
INDEX index_dname_loc (dname,loc)
);
EXPLAIN SELECT * FROM t_dept WHERE dname = 'tanghui';
DROP TABLE t_dept;
COMMIT;
# 已经存在的表上创建多列索引
CREATE TABLE t_dept(
deptno INT,
dname VARCHAR(20),
loc VARCHAR(60)
);
CREATE INDEX index_dname_loc ON t_dept (dname,loc);
DROP TABLE t_dept;
# alter table 创建多列索引
CREATE TABLE t_dept(
deptno INT,
dname VARCHAR(20),
loc VARCHAR(60)
);
ALTER TABLE t_dept ADD INDEX index_dname_loc (dname,loc);
## 删除索引
DROP INDEX index_name ON table_name;
如: DROP INDEX index_dname_loc ON t_dept;