MySQL设计性实验

数据库原理与应用》P77设计性实验

学生实验数据库(stuexpm)是实验 中多次用到的另一个数据库,包含学生表 (StudentInfo)、课程表(CourseInfo)、成绩表表(ScoreInfo)和教师表(TeacherInfo)。
StudentInfo 表、CourseInfo 表、ScoreI nfo 表和 TeacherInfo 表的表结构分别如表 4.9至表 4.12 所示。

使用 SQL 语句创建学生实验数据库(stuexpm),并结合课本P88完善表格数据。

 

#(1)创建数据库stuexpm
CREATE DATABASE stuexpm;

#(2)创建studentinfo表,显示studentinfo表的基本结构 
USE stuexpm;
CREATE TABLE StudentInfo
(
   StudentID VARCHAR(6) NOT NULL PRIMARY KEY COMMENT '学号',
   NAME VARCHAR(8) NOT NULL COMMENT '姓名',
   Sex VARCHAR(2) NOT NULL DEFAULT '男' COMMENT '性别',
   Birthday DATE NOT NULL COMMENT '出生日期',
   Speciality VARCHAR(12) NULL COMMENT '专业',
   Address VARCHAR(50) NULL COMMENT '家庭地址'
)COMMENT '学生表';

#添加数据内容/记录
#课本p81-例5.4
#表5.1 
USE stuexpm;
INSERT INTO StudentInfo
    VALUES
        ('181001','成志强','男','1998-08-17','计算机','北京市海淀区'),
        ('181002','孙红梅','女','1997-11-23','计算机','成都市锦江区'),
        ('181003','朱丽','女','1998-02-19','计算机','北京市海淀区'),
        ('181004','王智勇','男','1997-12-05','电子信息工程',NULL),
        ('181005','周璐璐','女','1998-02-24','电子信息工程','上海市浦东区'),
        ('181006','郑永波','男','1997-09-19','电子信息工程','上海市浦东区');

#查看数据内容/记录
SELECT * FROM studentinfo;  

 

 

----------------------------------------------------------分割线----------------------------------------------------------------------

#表4.10

 

USE stuexpm;
CREATE TABLE CourseInfo
(
   CourseID VARCHAR(4) NOT NULL PRIMARY KEY COMMENT '课程号',
   CourseName VARCHAR(16) NOT NULL COMMENT '课程名',
   Credit TINYINT NULL COMMENT '学分'
)COMMENT '课程表';

INSERT INTO CourseInfo
    VALUES
         ('1004','数据库系统','4'),
         ('1025','物联网技术','3'),
         ('4002','数字电路','3'),
         ('8001','高等数学','4'),
         ('1201','英语','4');

#查看数据内容/记录
SELECT * FROM CourseInfo;

   

 


----------------------------------------------------------分割线----------------------------------------------------------------------

 

#表4.11

USE stuexpm;
CREATE TABLE ScoreInfo
(
   StudentID VARCHAR(6) NOT NULL COMMENT '',
   CourseID VARCHAR(4) NOT NULL COMMENT '',
   Grade TINYINT NULL COMMENT '成绩',
   primary key (sno,cno)
)COMMENT '成绩表';

INSERT INTO ScoreInfo
    VALUES
         ('181001','1004','95'),
         ('181002','1004','85'),
         ('181003','1004','91'),
         ('181001','4002','93'),
         ('181002','4002','76'),
         ('181004','4002','88'),
         ('181001','8001','94'),
         ('181002','8001','89'),
         ('181003','8001','86'),
         ('184001','8001','85'),
         ('184002','8001',NULL),
         ('184004','8001','94'),
         ('181001','1201','92'),
         ('181002','1201','78'),
         ('181003','1201','94'),
         ('184001','1201','85'),
         ('184002','1201','79'),
         ('184004','1201','94');

#查看数据内容/记录
SELECT * FROM ScoreInfo;    

 

#表4.12
USE stuexpm;
CREATE TABLE TeacherInfo
(
   TeacherID VARCHAR(6) NOT NULL PRIMARY KEY COMMENT '教师编号',
   TeacherName VARCHAR(8) NOT NULL COMMENT '姓名',
   TeacherSex VARCHAR(2) NOT NULL DEFAULT '男' COMMENT '性别',
   TeacherBirthday DATE NOT NULL COMMENT '出生日期',
   School VARCHAR(12) NULL COMMENT '学院',
   Address VARCHAR(20) NULL COMMENT '地址'
)COMMENT '教师表';

INSERT INTO TeacherInfo
    VALUES
        ('100005','李慧强','男','1968-09-25','计算机学院','北京市海淀区'),
        ('100024','刘松','男','1976-02-17','计算机学院','北京市海淀区'),
        ('400021','陈霞飞','女','1975-12-07','通信学院','上海市黄埔区'),
        ('800004','刘泉明','男','1978-08-16','数学学院','广州市越秀区'),
        ('120007','张莉','女','1982-03-21','外国语学院','成都市锦江区');
#查看数据内容/记录
SELECT * FROM TeacherInfo; 

 

 ----------------------------------------------------------分割线---------------------------------------------------------------------

学生信息数据库(stusys)的表结构和样本数据。

学生信息数据库(stusys)中的表--学生表(student)、课程表(course)、成绩表(score)、教师表(teacher)、讲课表(lecture)的表结构和样本数据,介绍如下。
1.学生信息数据库(stusys)的表结构
数据库 stusys 的表结构见表 B. 1~表 B. 5。

 

#课本P306-307
CREATE DATABASE stusys;
USE stusys;
CREATE TABLE student
(
   sno CHAR(6) NOT NULL PRIMARY KEY COMMENT '学号',
   sname CHAR(8) NOT NULL COMMENT '姓名',
   ssex CHAR(2) NOT NULL DEFAULT '男' COMMENT '性别',
   sbirthday DATE NOT NULL COMMENT '出生日期',
   speciality CHAR(12) NULL COMMENT '专业',
   tc TINYINT NULL COMMENT '总学分'
)COMMENT '学生表'; 

 

 ----------------------------------------------------------分割线---------------------------------------------------------------------

USE stusys;
CREATE TABLE course
(
   cno CHAR(4) NOT NULL PRIMARY KEY COMMENT '课程号',
   cname CHAR(16) NOT NULL COMMENT '课程名',
   credit TINYINT NULL COMMENT '学分'
)COMMENT '课程表';

 

 ----------------------------------------------------------分割线--------------------------------------------------------------------

 USE stusys;
CREATE TABLE score
(
   sno CHAR(6) NOT NULL COMMENT '学号',
   cno CHAR(4) NOT NULL COMMENT '课程号',
   grade TINYINT NULL COMMENT '成绩'
)COMMENT '成绩表';

 

 ----------------------------------------------------------分割线--------------------------------------------------------------------

 USE stusys;
CREATE TABLE teacher
(
   tno CHAR(6) NOT NULL PRIMARY KEY COMMENT '教师编号',
   tname CHAR(8) NOT NULL COMMENT '姓名',
   tsex CHAR(2) NOT NULL DEFAULT '男' COMMENT '性别',
   tbirthday DATE NOT NULL COMMENT '出生日期',
   title CHAR(12) NULL COMMENT '职称',
   tschool CHAR(12) NULL COMMENT '学院'
)COMMENT '教师表';

 

 

 ----------------------------------------------------------分割线--------------------------------------------------------------------

USE stusys;
CREATE TABLE lecture
(
   tno CHAR(6) NOT NULL PRIMARY KEY COMMENT '教师编号',
   cno CHAR(4) NOT NULL COMMENT '课程号',
   location CHAR(10) NULL COMMENT '上课地点'
)COMMENT '讲课表';

 ----------------------------------------------------------分割线--------------------------------------------------------------------

2.学生信息数据库(stusys)的样本数据
数据库 stusys 的样本数据见表 B.6~表 B.10。

 

 insert into student
    values
        ('191001','刘清泉','男','1998-06-21','计算机','52'),
        ('191002','张慧玲','女','1999-11-07','计算机','50'),
        ('191003','冯涛','男','1999-08-12','计算机','52'),
        ('196001','董明霞','女','1999-05-02','通信',50),
        ('196002','李茜','女','1998-07-25','通信','48'),
        ('196004','周俊文','男','1998-03-10','通信','52');
select * from student;  

 

 

 ----------------------------------------------------------分割线--------------------------------------------------------------------

 insert into course
    values
         ('1004','数据库系统','4'),
         ('1025','物联网技术','3'),
         ('4002','数字电路','3'),
         ('8001','高等数学','4'),
         ('1201','英语','4');
select * from course;  

 

  ----------------------------------------------------------分割线--------------------------------------------------------------------

 

insert into score
    values
         ('191001','1004','95'),
         ('191002','1004','87'),
         ('191003','1004','93'),
         ('196001','4002','90'),
         ('196002','4002','79'),
         ('196004','4002','88'),
         ('191001','8001','92'),
         ('191002','8001','88'),
         ('191003','8001','84'),
         ('196001','8001','87'),
         ('196002','8001',null),
         ('196004','8001','94'),
         ('191001','1201','92'),
         ('191002','1201','78'),
         ('191003','1201','84'),
         ('196002','1201','76'),
         ('196004','1201','92');
select * from score; 

 

  ----------------------------------------------------------分割线--------------------------------------------------------------------

 

insert into teacher
    values
         ('100006','何艺杰','男','1970-06-23','教授','计算机学院'),
         ('100023','孙浩然','男','1979-04-19','教授','计算机学院'),
         ('400017','李亚兰','女','1988-11-04','讲师','通信学院'),
         ('800028','袁万明','男','1978-08-15','副教授','数学学院'),
         ('120046','刘颖','女','1976-12-15','副教授','外国语学院');
select * from teacher;  

  

 

 

  ----------------------------------------------------------分割线--------------------------------------------------------------------

 insert into lecture
    values
         ('100006','1004','2-311'),
         ('400017','4002','1-106'),
         ('800028','8001','6-104'),
         ('120046','1201','6-215');
select * from lecture;


————————————————

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值