MySQL数据库实验题答案截图已公布,你找到正确答案了吗?
- 行业动态
- 2025-01-01
- 4860
由于您没有提供具体的内容或截图,我无法直接生成针对“mysql数据库实验题答案”的80字回答。请提供相关题目或截图,我将很乐意帮助您分析并给出答案。
MySQL数据库实验题答案截图_公布答案
以下是MySQL数据库实验题的详细回答,包括创建、修改数据库和表结构,建立与删除索引,以及数据的插入、更新及删除操作。
实验一:创建、修改数据库和表结构
1、用create建立教学数据库的五个基本表:
学生表(学号,姓名,性别,年龄)
CREATE TABLE Student ( Sno CHAR(20) PRIMARY KEY, Sname CHAR(20), Ssex CHAR(4) DEFAULT '男', Age INT ) ENGINE=InnoDB;
课程表(课程号,课程名,学分)
CREATE TABLE Course ( Cno CHAR(20) PRIMARY KEY, Cname CHAR(20) NOT NULL, Credit FLOAT ) ENGINE=InnoDB;
选课表(学号,课程号,成绩)
CREATE TABLE SC ( Sno CHAR(20) NOT NULL, Cno CHAR(20) NOT NULL, Grade FLOAT, PRIMARY KEY (Sno, Cno), FOREIGN KEY (Sno) REFERENCES Student(Sno) ON DELETE Cascade, FOREIGN KEY (Cno) REFERENCES Course(Cno) ) ENGINE=InnoDB;
教师表(教师号,姓名,性别,出生年月,系部,职称,地址)
CREATE TABLE T ( Tno CHAR(20) PRIMARY KEY, Tname CHAR(20) NOT NULL, TSex CHAR(4) DEFAULT '男', Birthday DATETIME, Dept CHAR(20), Title CHAR(20), Address CHAR(20) ) ENGINE=InnoDB;
工资表(教师号,基本工资,职务工资,合计)
CREATE TABLE Salary ( Tno CHAR(20) NOT NULL, jbgz FLOAT, zwgz FLOAT, hj FLOAT, FOREIGN KEY (Tno) REFERENCES T(Tno) ON DELETE Cascade ) ENGINE=InnoDB;
2、用alter修改基本表:
在已存在的学生表Student中增加一个sdept(系)的新的属性列
ALTER TABLE Student ADD Sdept CHAR(20);
将学生表Student中sname属性列的数据类型修改为变长字符串varchar(10)
ALTER TABLE Student MODIFY COLUMN sname VARCHAR(10);
3、建立一个临时表,然后将其删除:
CREATE TABLE temp ( ANo CHAR(20) NOT NULL, B FLOAT, C CHAR(10) ); DROP TABLE temp;
实验二:建立与删除索引
1、用createindex在学生表Student的学号sno上建立聚簇索引:
CREATE CLUSTERED INDEX SNo_Index ON Student (Sno);
2、在学生表Student中,为姓名sname建立非聚簇索引:
CREATE INDEX SName_Index ON Student (Sname);
3、在课程表的课程号Cno上建立唯一索引:
CREATE UNIQUE INDEX CNo_Index ON Course (Cno);
4、在选课表的学号sno、成绩Grade上建立复合索引,要求学号为升序,学号相同时成绩为降序:
CREATE INDEX SCNo_Index ON SC (Sno ASC, Grade DESC);
5、用drop删除学生表Student的索引:
DROP INDEX SNo_Index ON Student;
6、增加学生表Student中姓名唯一约束:
ALTER TABLE Student ADD UNIQUE (Sname);
7、增加学生表Student中性别’男’、’女’唯一约束:
ALTER TABLE Student ADD CONSTRAINT SSex_Check CHECK (SSex IN ('男', '女'));
8、增加学生表Student中年龄18~25岁约束:
ALTER TABLE Student ADD CONSTRAINT SAge_Check CHECK (Age >= 18 AND Age <= 25);
9、增加选课表SC中学号sno的外码约束:
ALTER TABLE SC ADD CONSTRAINT ForeignKey_Sno FOREIGN KEY (Sno) REFERENCES Student(Sno);
实验三:数据的插入、更新及删除操作
1、用insert输入数据:
学生表student的数据:
INSERT INTO Student VALUES ('991201', '张三', '男', '计算机科学与技术系'); INSERT INTO Student VALUES ('991202', '李四', '', 21, '信息科学系'); INSERT INTO Student VALUES ('991101', '王五', '', 23, '数理系'); INSERT INTO Student VALUES ('991102', '陈六', '', 19, '计算机科学与技术系'); INSERT INTO Student VALUES ('991103', '吴七', '女', 24, '数理系'); INSERT INTO Student VALUES ('000101', '刘八', '女', 22, '信息科学系');
课程表course的数据:
INSERT INTO Course VALUES ('1', '数学', 5); INSERT INTO Course VALUES ('2', '数据结构', 4); INSERT INTO Course VALUES ('3', '程序设计', 2); INSERT INTO Course VALUES ('4', '数据库原理', 3); INSERT INTO Course VALUES ('5', '操作系统', 3);
选课表SC的数据:
INSERT INTO SC VALUES ('991201', '1', 90); INSERT INTO SC VALUES ('991201', '2', 580); INSERT INTO SC VALUES ('991201', '3', 385); INSERT INTO SC VALUES ('991201', '4', 490);
FAQs问答环节:
Q1: 如何在MySQL中查询当前数据库中的所有表?
A1: 你可以使用以下SQL语句来查询当前数据库中的所有表:SHOW TABLES;,这条命令会列出当前数据库中所有的表名。
Q2: 如何在MySQL中删除一个表?
A2: 你可以使用以下SQL语句来删除一个表:DROP TABLE table_name;,请务必小心使用此命令,因为它会永久删除表中的所有数据和表结构。DROP TABLE Students; 将会删除名为Students的表。
小编有话说:
通过这些实验题目,我们深入理解了MySQL数据库的基本操作,包括数据库和表的创建、修改,索引的建立与删除,以及数据的插入、更新和删除,这些技能对于数据库管理和数据处理至关重要,希望这些内容对你有所帮助,祝你学习愉快!
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/380276.html