MySQL上机第一章,创建S,C,T,SC,TC表

MySQL上机练习第一章


上机目的

  1. 熟悉Mysql软件的安装;

     2.熟悉数据库、数据表的代码创建;


上机内容

写出Teach数据库中5个关系模式,并标注主键外键

S(学生关系)

Sno

学号

Sn

姓名

Sex

性别

Age

年龄

Dept

系别

S1

赵亦

17

计算机

S2

钱尔

18

信息

S3

孙珊

20

信息

S4

李思

21

自动化

S5

周武

19

计算机

S6

吴丽

20

自动化

C(课程关系)

 

Cno

课程号

Cn

课程名

Ct

课时

C1

程序设计

60

C2

微机原理

80

C3

数字逻辑

60

C4

数据结构

80

C5

数据库原理

60

C6

编译原理

54

C7

操作系统

60

 

 

 

T(教师关系)

Tno

教师号

Tn

姓名

Sex

性别

Age

年龄

Prof

职称

Sal

工资

Comm

岗津

Dept

系别

T1

李力

47

教授

1500

3000

计算机

T2

王平

28

讲师

800

1200

信息

T3

刘伟

30

讲师

900

1200

计算机

T4

张雪

51

教授

1600

3000

自动化

T5

张兰

39

副教授

1300

2000

信息

SC(选课关系)

 

Sno

学号

Cno

课程号

Score

成绩

S1

C1

90

S1

C2

85

S2

C4

70

S2

C5

57

S2

C6

80

S2

C7

 

S3

C1

75

S3

C2

70

S3

C4

85

S4

C1

93

S4

C2

85

S4

C3

83

S5

C2

89

TC(授课关系)

 

Tno

教师号

Cno

课程号

T1

C1

T1

C4

T2

C5

T3

C1

T3

C5

T4

C2

T4

C3

T5

C5

T5

C7

 


 

S表:

列名

含义

数据类型

是否可空

主外键

SNo

学生学号

char(10)

N

PK

SN

学生姓名

varchar(20)

N

 

Sex

性别

char(2)

Y

 

Age

年龄

int

Y

 

Dept

所在系别

varchar(20)

Y

 

C表:

列名

含义

数据类型

是否可空

主外键

CNo

课程代码

char(10)

N

PK

CN

课程名称

varchar(10)

N

 

CT

课时

int

Y

 

T表:

列名

含义

数据类型

是否可空

主外键

TNo

教师号

char(10)

N

PK

TN

教师姓名

varchar(20)

N

 

Sex

性别

char(2)

Y

 

Age

年龄

int

Y

 

Prof

职称

char(10)

Y

 

Sal

工资

int

Y

 

Comm

岗位津贴

int

Y

 

Dept

系别

varchar(20)

Y

 

 

SC表:

列名

含义

数据类型

是否可空

主外键

SNo

学号

char(10)

N

PK,FK

CNo

课程代码

char(10)

N

PK,FK

Score

成绩

decimal(5,2)

Y

 

 

  

TC表:

列名

含义

数据类型

是否可空

主外键

TNo

教师号

char(10)

N

Pk,FK

CNo

课程代码

char(10)

N

PK,FK


1.创建数据库、使用数据库

CREATE DATABASE IF NOT EXISTS Teach DEFAULT CHARACTER SET utf8;
USE Teach;

2.创建S表

CREATE TABLE IF NOT EXISTS S(
 Sno CHAR(10) PRIMARY KEY,
 Sn VARCHAR(20) NOT NULL,
 Sex CHAR(2),
 Age int,
 Dept VARCHAR(20)
)DEFAULT CHARSET=utf8;

3.创建C表

CREATE TABLE IF NOT EXISTS C(
 CNo CHAR(10) PRIMARY KEY,
 CN  VARCHAR(10) NOT NULL,
 CT INT
 )DEFAULT CHARSET=utf8;

4.创建T表

CREATE TABLE IF NOT EXISTS T(
  TNo char(10) PRIMARY KEY,
  TN VARCHAR(20) NOT NULL,
  Sex char(2),
  Age INT,
  Prof char(10),
  Sal int,
  Comm int,
  Dept VARCHAR(20)
 )DEFAULT CHARSET=utf8;

5.S,C,T表填充数据

INSERT INTO S(Sno,Sn,Sex,Age,Dept)
VALUES
('S1','赵亦','女',17,'计算机'),
('S2','钱尔','男',18,'信息'),
('S3','孙珊','女',20,'信息'),
('S4','李思','男',21,'自动化'),
('S5','周武','男',19,'计算机'),
('S6','吴丽','女',20,'自动化');

INSERT INTO C(Cno,Cn,Ct)
VALUES
('C1','程序设计',60),
('C2','微机原理',80),
('C3','数字逻辑',60),
('C4','数据结构',80),
('C5','数据库原理',60),
('C6','编译原理',54),
('C7','操作系统',60);

INSERT INTO T(Tno,Tn,Sex,Age,Prof,Sal,Comm,Dept)
VALUES
('T1','李力','男',47,'教授',1500,3000,'计算机'),
('T2','王平','女',28,'讲师',800,1200,'信息'),
('T3','刘伟','男',30,'讲师',900,1200,'计算机'),
('T4','张雪','女',51,'教授',1600,3000,'自动化'),
('T5','张兰','女',39,'副教授',1300,2000,'信息');

6.创建SC表

CREATE TABLE IF NOT EXISTS SC(
 Sno CHAR(10),
 CNo CHAR(10),
 Score decimal(5,2),
 PRIMARY KEY(Sno,CNo)
 )DEFAULT CHARSET=utf8;

7.SC表填充数据

INSERT INTO SC(Sno,CNo,Score)
VALUES
('S1','C1',90),
('S1','C2',85),
('S2','C4',70),
('S2','C5',57),
('S2','C6',80),
('S2','C7',NULL),
('S3','C1',75),
('S3','C2',70),
('S3','C4',85),
('S4','C1',93),
('S4','C2',85),
('S4','C3',83),
('S5','C2',89);

8.创建TC表

CREATE TABLE IF NOT EXISTS TC(
 TNo CHAR(10),
 CNo CHAR(10),
 PRIMARY KEY(TNo,CNo)
 )DEFAULT CHARSET=utf8;

9.TC表填充数据 

INSERT INTO TC(TNo,CNo)
VALUES
('T1','C1'),
('T1','C4'),
('T2','C5'),
('T3','C1'),
('T3','C5'),
('T4','C2'),
('T4','C3'),
('T5','C5'),
('T5','C7');

10.使用SQL命令在学生信息表中添加 “Birthdary”字段,其数据类型为DATE,并放在“Age”字段的后面

ALTER TABLE S ADD Birthdary DATE;
ALTER TABLE S MODIFY Birthdary DATE AFTER Age;

11.更新S表中Birthdary的字段信息

UPDATE S
SET Birthdary=('1986-9-13')
WHERE Sno=('S1');

UPDATE S
SET Birthdary=('1984-2-23')
WHERE Sno=('S2');

UPDATE S
SET Birthdary=('1984-1-27')
WHERE Sno=('S3');

UPDATE S
SET Birthdary=('1986-9-10')
WHERE Sno=('S4');

UPDATE S
SET Birthdary=('1984-2-20')
WHERE Sno=('S5');

UPDATE S
SET Birthdary=('1984-3-20')
WHERE Sno=('S6');

可以根据个人操作习惯进行多个同时更改

第一章练习到此结束,第二章练习过几天有待更新.....


 

上一篇:阿里开源的分布式框架Seata,这么火你竟然还不知道!


下一篇:数据结构