实验01 数据库及基本表的数据定义语句
一. 简答题(共22题,100分)
- (简答题, 2分) 本实验的实验目的是:
本实验的目的是为了能够熟练使用SQL语句完成下列操作:
新建数据库;新建基本表;修改基本表;创建索引;删除索引。 - (简答题, 5分)
使用SQL语句,创建一个名为jxdb+学号后2位的教学管理数据库(如:学号后两位为01,则数据库名为jxdb01)。
要求:(1)首先判断是否已存在该数据库,若不存在才创建,否则退出;(2)指定所使用的字符集为UTF8MB4。
答案提交:(1)按要求写出创建数据库的SQL语句;(2)使用SHOW CREATE DATABASE jxdb;
查看数据库的创建信息,并将信息截图上传,要求尽可能将所有信息显示出来,并在图片右下角写上本人学号的后2位。CREATE DATABASE IF NOT EXISTS jxdb59 DEFAULT CHARACTER SET utf8mb4;
- (简答题, 4分)
使用SQL语句,在你所创建的教学管理数据库中,按照要求创建学院基本表,表名定义为Department+学号后2位,表中包含的字段及其对应的数据类型如下图所示。
要求:(1)完成字段名及其数据类型的定义;(2)声明主键及非空属性列;(3)给出字段名的中文注释
答案提交:(1)按要求写出创建基本表的SQL语句;(2)使用'SHOW CREATE TABLE 基本表名;'命令查看基本表的创建信息,要求把创建信息展开后截图,并在右下角标注本人的学号后2位。USE jxdb59; CREATE TABLE IF NOT EXISTS Department59(Dno CHAR(2) PRIMARY KEY COMMENT '学院编号', Dname VARCHAR(15) NOT NULL COMMENT '学院名称');
USE jxdb59; SHOW CREATE TABLE Department59;
- (简答题, 5分)
使用SQL语句,在你所创建的教学管理数据库中,按照要求创建专业基本表,表名定义为Major+学号后2位,表中包含的字段及其对应的数据类型如下图所示。
要求:(1)完成字段名及其数据类型的定义;(2)声明主键及非空属性列;(3)给出字段名的中文注释
答案提交:(1)按要求写出创建基本表的SQL语句;(2)使用'SHOW CREATE TABLE 基本表名;'命令查看基本表的创建信息,要求把创建信息展开后截图,并在右下角标注本人的学号后2位。USE jxdb59; CREATE TABLE IF NOT EXISTS Major59(Mno CHAR(4) PRIMARY KEY COMMENT '专业编号', Mname VARCHAR(15) NOT NULL COMMENT '专业名称', Dno CHAR(2) COMMENT '学院编号');
USE jxdb59; SHOW CREATE TABLE Major59;
- (简答题, 6分)
使用SQL语句,在你所创建的教学管理数据库中,按照要求创建学生基本表,表名定义为Students+学号后2位,表中包含的字段及其对应的数据类型如下图所示。
要求:(1)完成字段名及其数据类型的定义;(2)声明主键及非空属性列;(3)给出字段名的中文注释
答案提交:(1)按要求写出创建基本表的SQL语句;(2)使用'SHOW CREATE TABLE 基本表名;'命令查看基本表的创建信息,要求把创建信息展开后截图,并在右下角标注本人的学号后2位。USE jxdb59; CREATE TABLE IF NOT EXISTS Students59(Sno CHAR(12) 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(10) COMMENT '班级编号', FOREIGN KEY (Dno) REFERENCES Department59(Dno), FOREIGN KEY (Mno) REFERENCES Major59(Mno) );
USE jxdb59; SHOW CREATE TABLE Students59;
- (简答题, 5分)
使用SQL语句,在你所创建的教学管理数据库中,按照要求创建教师基本表,表名定义为Teachers+学号后2位,表中包含的字段及其对应的数据类型如下图所示。
要求:(1)完成字段名及其数据类型的定义;(2)声明主键及非空属性列;(3)给出字段名的中文注释
答案提交:(1)按要求写出创建基本表的SQL语句;(2)使用'SHOW CREATE TABLE 基本表名;'命令查看基本表的创建信息,要求把创建信息展开后截图,并在右下角标注本人的学号后2位。USE jxdb59; CREATE TABLE IF NOT EXISTS Teachers59(Tno CHAR(4) PRIMARY KEY COMMENT '教师编号', Tname VARCHAR(4) NOT NULL COMMENT '教师姓名', Tgender ENUM('男', '女') DEFAULT '男' COMMENT '性别', Tbirth DATE COMMENT '教师生日', Dno CHAR(2) COMMENT '学院编号', FOREIGN KEY (Dno) REFERENCES department59(Dno));
USE jxdb59; SHOW CREATE TABLE Teachers59;
- (简答题, 7分)
使用SQL语句,在你所创建的教学管理数据库中,按照要求创建课程基本表,表名定义为Courses+学号后2位,表中包含的字段及其对应的数据类型如下图所示。
要求:(1)完成字段名及其数据类型的定义;(2)声明主键及非空属性列;(3)给出字段名的中文注释
答案提交:(1)按要求写出创建基本表的SQL语句;(2)使用'SHOW CREATE TABLE 基本表名;'命令查看基本表的创建信息,要求把创建信息展开后截图,并在右下角标注本人的学号后2位。USE jxdb59; CREATE TABLE IF NOT EXISTS Courses59(Cno CHAR(4) PRIMARY KEY COMMENT '课程编号', Cname VARCHAR(4) NOT NULL COMMENT '课程名称', Chours TINYINT DEFAULT 32 COMMENT '课时', Ccredit TINYINT DEFAULT 2 COMMENT '学分');
USE jxdb59; SHOW CREATE TABLE Courses59;
- (简答题, 5分)
使用SQL语句,在你所创建的教学管理数据库中,按照要求创建选课基本表,表名定义为Reports+学号后2位,表中包含的字段及其对应的数据类型如下图所示。
要求:(1)完成字段名及其数据类型的定义;(2)声明主键及非空属性列;(3)给出字段名的中文注释
答案提交:(1)按要求写出创建基本表的SQL语句;(2)使用'SHOW CREATE TABLE 基本表名;'命令查看基本表的创建信息,要求把创建信息展开后截图,并在右下角标注本人的学号后2位。USE jxdb59; CREATE TABLE IF NOT EXISTS Reports59(Sno CHAR(12) COMMENT '学号', Cno CHAR(8) COMMENT '课程编号', Racademicyear YEAR NOT NULL COMMENT '选课学年', Rterm CHAR(1) NOT NULL COMMENT '选课学期', Grade TINYINT COMMENT '成绩', FOREIGN KEY (Sno) REFERENCES Students59(Sno), FOREIGN KEY (Cno) REFERENCES Courses59(Cno), PRIMARY KEY (`Sno`,`Cno`) );
USE jxdb59; SHOW CREATE TABLE Reports59;
- (简答题, 5分)
使用SQL语句,在你所创建的教学管理数据库中,按照要求创建授课基本表,表名定义为Tutors+学号后2位,表中包含的字段及其对应的数据类型如下图所示。
要求:(1)完成字段名及其数据类型的定义;(2)声明主键及非空属性列;(3)给出字段名的中文注释
答案提交:(1)按要求写出创建基本表的SQL语句;(2)使用'SHOW CREATE TABLE 基本表名;'命令查看基本表的创建信息,要求把创建信息展开后截图,并在右下角标注本人的学号后2位。USE jxdb59; CREATE TABLE IF NOT EXISTS Tutors59(Tno CHAR(4) NOT NULL COMMENT '教师编号', Cno CHAR(8) NOT NULL COMMENT '课程编号', Tacademicyear YEAR NOT NULL COMMENT '授课学年', Tterm CHAR(1) NOT NULL COMMENT '授课学期', Sclass CHAR(10) NOT NULL COMMENT '班级编号' );
USE jxdb59; SHOW CREATE TABLE Tutors59;
- (简答题, 3分)
使用SQL语句,按照下面的要求修改学院基本表
要求:(1)增加‘学院院长’字段,字段名为Dheader,数据类型为CHAR(4)
答案提交:(1)按要求写出修改基本表的SQL语句;(2)使用'DESCRIBE 基本表名;'命令查看基本表的表结构并截图,并在右下角标注本人的学号后2位。USE jxdb59; ALTER TABLE Department59 ADD Dheader CHAR(4); DESCRIBE Department59;
- (简答题, 6分)
使用SQL语句,按照下面的要求修改学生基本表
要求:(1)将“年龄”字段Sage改为“出生日期”,同时字段名改为Sbirth,数据类型为DATE;
(2)增加一个“生源地”字段,字段名为Snative,数据类型为VARCHAR(20),将该字段放在出生日期Sbirth的后面
答案提交:(1)按要求写出修改基本表的SQL语句;(2)使用'DESCRIBE 基本表名;'命令查看基本表的表结构并截图,并在右下角标注本人的学号后2位。USE jxdb59; ALTER TABLE Students59 RENAME COLUMN `Sage` To `Sbirth`; ALTER TABLE Students59 MODIFY COLUMN `Sbirth` DATE COMMENT '出生日期'; ALTER TABLE Students59 ADD COLUMN `Snative` VARCHAR(20) AFTER `Sbirth`; DESCRIBE Students59;
- (简答题, 4分)
使用SQL语句,按照下面的要求修改课程基本表
要求:(1)增加“先序课程编号”字段,字段名为Pre_Cno,数据类型为CHAR(8),将该字段放在课程名Cname的后面
答案提交:(1)按要求写出修改基本表的SQL语句;(2)使用'DESCRIBE 基本表名;'命令查看基本表的表结构并截图,并在右下角标注本人的学号后2位。USE jxdb59; ALTER TABLE courses59 ADD COLUMN `Pre_Cno` CHAR(8) AFTER `Cname`; DESCRIBE courses59;
- (简答题, 10分)
使用SQL语句,按照下面的要求修改教师基本表
要求:(1)增加“职称”字段,字段名为Tprof,数据类型为VARCHAR(8),将该字段放在教师性别Tgender的后面;
(2)增加“工资”字段,字段名为Tsal,数据类型为DECIMAL(10,2);
(3)增加“绩效”字段,字段名为Tcomm,数据类型为DECIMAL(10,2);
答案提交:(1)按要求写出修改基本表的SQL语句;(2)使用'DESCRIBE 基本表名;'命令查看基本表的表结构并截图,并在右下角标注本人的学号后2位。USE jxdb59; ALTER TABLE teachers59 ADD COLUMN `Tprof` VARCHAR(8) COMMENT '职称' AFTER `Tgender`; ALTER TABLE teachers59 ADD COLUMN `Tsal` DECIMAL(10,2) COMMENT '工资'; ALTER TABLE teachers59 ADD COLUMN `Tcomm` DECIMAL(10,2) COMMENT '绩效'; DESCRIBE teachers59;
- (简答题, 4分)
使用SQL语句,创建学生基本表的索引。
要求:(1)使用CREATE INDEX语句,在学生表的Mno列上按降序创建普通索引,索引名为IDX_Stu_Mno
答案提交:(1)按要求写出创建索引的SQL语句;(2)使用'SHOW INDEX FROM 基本表名;'命令查看基本表的索引信息并至少将前6列信息截图,并在右下角标注本人的学号后2位。USE jxdb59; CREATE INDEX IDX_Stu_Mno ON students59 (Mno DESC); SHOW INDEX FROM students59;
- (简答题, 4分)
使用SQL语句,创建课程基本表的索引。
要求:(1)使用CREATE INDEX语句,在课程表的Cname列上按升序创建唯一索引,索引名为IDX_Cou_Cname
答案提交:(1)按要求写出创建索引的SQL语句;(2)使用'SHOW INDEX FROM 基本表名;'命令查看基本表的索引信息并至少将前6列信息截图,并在右下角标注本人的学号后2位。USE jxdb59; CREATE INDEX IDX_Cou_Cname ON courses59 (Cname); SHOW INDEX FROM courses59;
- (简答题, 4分)
使用SQL语句,创建选课基本表的索引。
要求:(1)使用CREATE INDEX语句,在选课表的学年列上按降序,同时在学期列上按升序创建混合索引;
答案提交:(1)按要求写出创建索引的SQL语句;(2)使用'SHOW INDEX FROM 基本表名;'命令查看基本表的索引信息并至少将前6列信息截图,并在右下角标注本人的学号后2位。USE jxdb59; CREATE INDEX IDX_RYT ON reports59 (Rterm ASC, Racademicyear DESC); SHOW INDEX FROM reports59;
- (简答题, 4分)
使用SQL语句,创建教师基本表的索引。
要求:(1)使用ALTER TABLE语句,在教师表的职称列上按升序,同时在出生日期列上按降序创建混合索引
答案提交:(1)按要求写出创建索引的SQL语句;(2)使用'SHOW INDEX FROM 基本表名;'命令查看基本表的索引信息并至少将前6列信息截图,并在右下角标注本人的学号后2位。USE jxdb59; ALTER TABLE teachers59 ADD INDEX IDX_TPf_TBirthMix (Tbirth DESC, Tprof ASC); SHOW INDEX FROM teachers59;
- (简答题, 6分)
使用SQL语句,创建授课基本表的索引。
要求:(1)使用ALTER TABLE语句,在授课表的Tno列上按升序创建普通索引;
(2)使用ALTER TABLE语句,在授课表的Sclass列上按降序创建普通索引
答案提交:(1)按要求写出创建索引的SQL语句;(2)使用'SHOW INDEX FROM 基本表名;'命令查看基本表的索引信息并至少将前6列信息截图,并在右下角标注本人的学号后2位。USE jxdb59; ALTER TABLE tutors59 ADD INDEX IDX_Tno (Tno ASC); ALTER TABLE tutors59 ADD INDEX IDX_Sclass (Sclass DESC); SHOW INDEX FROM tutors59;
- (简答题, 3分)
使用SQL语句,删除教师基本表的指定索引。
要求:(1)使用DROP INDEX命令,将教师表中在职称列和出生日期列上创建的索引删除
答案提交:(1)按要求写出删除索引的SQL语句;(2)使用'SHOW INDEX FROM 基本表名;'命令查看基本表的索引信息并至少将前6列信息截图,并在右下角标注本人的学号后2位。USE jxdb59; ALTER TABLE teachers59 DROP INDEX IDX_TPf_TBirthMix; SHOW INDEX FROM teachers59;
- (简答题, 3分)
查阅资料,将Data(new).xlsx文件中的数据添加至教学管理数据库的对应基本表中,并将添加后的学生基本表的数据截图上传,要求在右下角标注本人的学号后2位
扫描二维码,在手机上阅读
收藏