MySQL8.0-索引
1、创建学生表(student)
(1)在id字段上创建主键索引,在sNo字段上创建唯一性索引,在sName字段上创建普通索引。
CREATE TABLE student(
id int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '学生ID',
sNO CHAR(10) NOT NULL COMMENT '学号',
sName VARCHAR(20) NOT NULL COMMENT '姓名',
sex CHAR(1) COMMENT '性别',
birthday DATE COMMENT '出生日期',
deptName VARCHAR(30) COMMENT '班级',
remark VARCHAR(80) COMMENT '备注',
PRIMARY KEY pk_id (id),
UNIQUE us_sNo (sNo),
INDEX ix_sName (sName)
)ENGINE=InnoDB DEFAULT CHARSET=UTF8mb4;
(2)查看学生表(student)中的索引
show index from student;
2、创建课程表
CREATE TABLE course(
id INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '课程',
cNo CHAR(5) NOT NULL COMMENT'课程编号',
cName VARCHAR(30) NOT NULL COMMENT '课程名称',
credit TINYINT UNSIGNED COMMENT '学分',
remark VARCHAR(100) COMMENT'备注',
PRIMARY KEY(id)
)ENGINE=INNODB DEFAULT CHARSET=utf8mb4;
(1)修改课程表(course),在cNo字段上创建唯一性索引,在cName字段上创建普通索引
alter table course
add unique ux_cNo(cNo),
add index ix_cName(cName);
(2)删除课程表(course)中的索引 ix_cName
drop index ix_cName on course
创建成绩表(score)
CREATE TABLE score(
id INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '成绩ID',
sId INT UNSIGNED NOT NULL COMMENT '学生ID',
cId INT UNSIGNED NOT NULL COMMENT '课程ID',
grade TINYINT UNSIGNED NOT NULL COMMENT '成绩',
PRIMARY KEY(id)
)ENGINE=INNODB DEFAULT CHARSET=utf8mb4;
在成绩表(score)的sId、cId字段上创建唯一性索引(组合索引)
create UNIQUE index ux_sId_cId
on score(sId,cId);