1. 数据库与基本表的数据定义
(1)创建数据库的语句
CREATE DATABASE IF NOT EXISTS jxdb
CHARACTER SET UTF8MB4;
1)创建基本表的语句
CREATE TABLE Students
(Sno CHAR(10) PRIMARY KEY COMMENT '学号',
Sname VARCHAR(4) NOT NULL COMMENT '姓名',
Sgender ENUM('男','女') DEFAULT '男' COMMENT '性别',
Sage INT COMMENT '学生年龄',
Dno CHAR(2) COMMENT '学院编号',
Mno CHAR(4) COMMENT '专业编号',
Sclass CHAR(8) COMMENT '班级编号');
(1)创建基本表的语句
CREATE TABLE Reports
(Sno CHAR(10) COMMENT '学号',
Cno CHAR(8) COMMENT '课程号',
Racademicyear YEAR NOT NULL COMMENT '选课学年',
Rterm CHAR(1) NOT NULL COMMENT '选课学期',
Grade TINYINT COMMENT '成绩',
PRIMARY KEY (Sno,Cno) 两个主键的写法
);
1)修改基本表的语句
(1)将“年龄”字段Sage改为“出生日期”,同时字段名改为Sbirth,数据类型为DATE;
(2)增加一个“生源地”字段,字段名为Snative,数据类型为VARCHAR(20),将该字段放在出生日期Sbirth的后面
ALTER TABLE Students
CHANGE Sage Sbirth DATE COMMENT '出生日期';
ALTER TABLE Students
ADD Snative VARCHAR(20) COMMENT '生源地' AFTER Sbirth;
(1)创建索引的语句
(1)使用CREATE INDEX语句,在学生表的Mno列上按降序创建普通索引,索引名为IDX_Stu_Mno
CREATE INDEX IDX_Stu_Mno ON Students (Mno DESC);
(1)创建索引的语句 (混合索引)
CREATE INDEX IDX_Rep_Ryear ON Reports (Racademicyear DESC,Rterm ASC);
1)创建索引的语句
ALTER TABLE Teachers
ADD INDEX IDX_Tea_Tprof(Tprof ASC, Tbirth DESC);
(1)删除索引的语句
DROP INDEX IDX_Tea_Tprof ON Teachers;
创建外键的语句
(1)ALTER TABLE Department
ADD CONSTRAINT FK_Dep_Dheader FOREIGN KEY (Dheader) REFERENCES Teachers(Tno);