MySQL上机第一章,创建S,C,T,SC,TC表
2021/5/2 19:26:52
本文主要是介绍MySQL上机第一章,创建S,C,T,SC,TC表,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
MySQL上机练习第一章
上机目的
- 熟悉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');
可以根据个人操作习惯进行多个同时更改
第一章练习到此结束,第二章练习过几天有待更新.....
这篇关于MySQL上机第一章,创建S,C,T,SC,TC表的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-20部署MySQL集群入门:新手必读指南
- 2024-11-20部署MySQL集群教程:初学者指南
- 2024-11-20部署MySQL集群项目实战:新手教程
- 2024-11-20部署MySQL集群资料:新手入门教程
- 2024-11-20MySQL集群部署教程:入门级详解
- 2024-11-20MySQL集群教程:入门与实践指南
- 2024-11-20部署MySQL集群教程:新手入门指南
- 2024-11-20MySQL读写分离教程:轻松入门
- 2024-11-20部署MySQL集群入门:一步一步搭建你的数据库集群
- 2024-11-19部署MySQL集群学习:入门教程