索引
sh
#若数据库emp_mgr存在则删除
DROP DATABASE IF EXISTS emp_mgr;
#创建数据库emp_mgr的数据
CREATE DATABASE emp_mgr CHARACTER SET utf8;
SHOW DATABASES;
#选择当前数据库为emp_mgr
USE emp_mgr;
/*6.1.2索引的创建 */
# 创建数据表dept_index时,创建单列的普通索引、唯一性索引、主键索引、全文索引
#-------------------------------------------
#字段 类型 索引
#-------------------------------------------
# id int primary key
# deptno int unique key
# dname varchar(20) index
# introduction varchar(200) fulltext index
# ------------------------------------------
CREATE TABLE dept_index(
id INT,
deptno INT,
dname VARCHAR(20),
introduction VARCHAR(200),
PRIMARY KEY(id), #主键索引不允许起名字
UNIQUE KEY(deptno),
INDEX (dname),
FULLTEXT INDEX(introduction)
);
# 查看创建数据表dept_index的语句
SHOW CREATE TABLE dept_index;
# 创建数据表index_multi,在数据表中的id和name字段上建立索引名为multi的普通索引
#---------------------------------------
#字段 类型 属性
#---------------------------------------
# id int 不为空
# name varchar(20) 不为空
# score float
# --------------------------------------
CREATE TABLE index_multi(
id INT NOT NULL,
NAME VARCHAR(20) NOT NULL,
score FLOAT
);
ALTER TABLE index_multi ADD INDEX multi(id, NAME);
# 查看数据表index_multi的创建信息
SHOW CREATE TABLE index_multi;
# 创建新数据表dept_index02
#-----------------------------
#字段 类型
#-----------------------------
# id int
# deptno int
# dname varchar(20)
# introduction varchar(200)
#-----------------------------
CREATE TABLE dept_index02(
id INT,
deptno INT,
dname VARCHAR(20),
introduction VARCHAR(200)
);
# 在数据表dept_index02中的id字段上,建立一个名称为unique_id的唯一性索引
ALTER TABLE dept_index02 ADD UNIQUE KEY unique_id(id);
# 查看数据表dept_index02的创建信息
SHOW CREATE TABLE dept_index02;
# 在dept_index02表中的deptno字段和dname字段上,创建一个名称为multi_index的复合索引
ALTER TABLE dept_index02 ADD UNIQUE KEY multi_index(deptno, dname);
# 查看数据表dept_index02的创建信息
SHOW CREATE TABLE dept_index02;
# 创建数据表dept_index03
#----------------------------
#字段 类型
#----------------------------
# id int
# deptno int
# dname varchar(20)
#----------------------------
CREATE TABLE dept_index03(
id INT,
deptno INT,
dname VARCHAR(20)
);
# 在数据表dept_index03中的id字段上,创建名称为index_id的唯一性索引
ALTER TABLE dept_index03 ADD UNIQUE KEY index_id(id);
# 查看数据表dept_index03的创建信息
SHOW CREATE TABLE dept_index03;
# 在dept_index03表中的deptno字段和dname字段上,创建一个名称为multi_index的复合唯一性索引
ALTER TABLE dept_index03 ADD UNIQUE KEY multi_index(deptno, dname);
# 查看数据表dept_index03的创建信息
SHOW CREATE TABLE dept_index03;
/*6.1.3索引的查看 */
# 查看数据表dept_index 中的索引
SHOW INDEX FROM dept_index;
# 往数据表dept_index中插入数据
DESC dept_index;
INSERT INTO dept_index VALUES(1, 10, '组织部', '这是一个政府部门');
SELECT * FROM dept_index;
/*6.1.4索引的删除 */
# 查看数据表dept_index的建表语句
SHOW CREATE TABLE dept_index;
# 删除索引introduction
ALTER TABLE dept_index DROP INDEX introduction;
# 删除数据表dept_index中名称为dname的索引
ALTER TABLE dept_index DROP INDEX dname;
# 删除数据表dept_index中名称为deptno的索引
ALTER TABLE dept_index DROP INDEX deptno;
# 删除数据表dept_index中的主键索引
ALTER TABLE dept_index DROP PRIMARY KEY;
# 查看数据表dept_index的建表语句
SHOW CREATE TABLE dept_index;