当前位置:首页 > 行业动态 > 正文

MySQL数据库实验题答案截图已公布,你找到正确答案了吗?

由于您没有提供具体的内容或截图,我无法直接生成针对“mysql数据库实验题答案”的80字回答。请提供相关题目或截图,我将很乐意帮助您分析并给出答案。

MySQL数据库实验题答案截图_公布答案

MySQL数据库实验题答案截图已公布,你找到正确答案了吗?  第1张

以下是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数据库的基本操作,包括数据库和表的创建、修改,索引的建立与删除,以及数据的插入、更新和删除,这些技能对于数据库管理和数据处理至关重要,希望这些内容对你有所帮助,祝你学习愉快!

0