3.2学生-课程数据库——MYSQL

MYSQL系列文章目录

3.3 数据定义
3.4 数据查询
3.5 数据更新




建立Student(学生)数据库表

[例3.5] 建立一个“学生”表Student(列级约束条件,主键(主码),取唯一值)
代码如下(示例):

/*创建一个Student表*/
create TABLE Student (Sno CHAR(9) PRIMARY KEY,/*列级完整性约束条件,Sno是主码*/
					Sname CHAR(20) UNIQUE, /*Sname取唯一值*/
					Ssex enum('男','女') not null default '女',/*默认为'女',不能为空*/
					Sage SMALLINT,
					Sdept CHAR(20)
					);

/*创建一个Student表*/
create TABLE Student (Sno CHAR(9),
					Sname CHAR(20) UNIQUE, /*Sname取唯一值*/
					Ssex enum('男','女') not null default '女',/*默认为'女',不能为空*/
					Sage SMALLINT,
					Sdept CHAR(20),
					constraint sno PRIMARY KEY(Sno)/*表级完整性约束条件,Sno是主码,sno是主码的名称*/
					/*constraint sno 可以省略*/
					);

创建一个Student表

添加Student(学生)数据库数据

/*插入单条记录*/
insert
into Student 
values('202001012','张三','女',18,null);

/*插入多条记录*/
insert
into Student 
values('202001012','张三','女',18,null),
	('202001013','李四','女',19,'IS'),
	('202001014','王五','男',18,'IS'),
	('202001015','张六','男',19,'MA'),
	('202001016','赵七','男',null,'MA');

建立Course(课程表)数据库表

[例3.6] 建立一个“课程”表Course(列级约束条件,不能为空值,外键约束条件)
代码如下(示例):

/*创建一个Course表*/
create TABLE Course (Cno CHAR(4) PRIMARY KEY,/*列级完整性约束条件,Cno是主码*/
					Cname CHAR(40) NOT NULL, /*列级完整性约束条件,Cname不能取空值*/
					Cpno CHAR(4),/*Cpno的含义是先修课*/
					Ccredit SMALLINT,
					FOREIGN KEY (Cpno) REFERENCES Course(Cno)
					/*表级完整性约束条件,Cpno是外码,被参照表是Course,被参照列是Cno*/
					);

在这里插入图片描述
本例说明参照表和被参照表可以是同一个表

添加Course(课程表)数据库数据


建立SC(学生选课表)数据库表

[例3.7] 建立学生选课表SC(表级约束条件,外键约束条件,外键命名)
代码如下(示例):

/*创建一个SC表*/
create TABLE SC (Sno CHAR(9),
					Cno CHAR(4),
					Grade SMALLINT,
					PRIMARY KEY (Sno,Cno),/*主码由两个属性构成,必须作为表级完整性进行定义*/
					constraint sc_fk_1 FOREIGN KEY (Sno) REFERENCES Student(Sno),
					/*表级完整性约束条件,sc_fk_1是外键名(建议写为:Sno),Sno是外码,被参照表是Student,被参照列是Sno*/
					constraint sc_fk_2 FOREIGN KEY (Cno) REFERENCES Course(Cno)
					/*表级完整性约束条件,sc_fk_2是外键名(建议写为:Cno),Cno是外码,被参照表是Course,被参照列是Cno*/
					);
/*创建一个SC表*/
create TABLE SC (Sno CHAR(9),
					Cno CHAR(4),
					Grade SMALLINT,
					PRIMARY KEY (Sno,Cno),/*主码由两个属性构成,必须作为表级完整性进行定义*/
					/*constraint sc_fk_1*/ FOREIGN KEY (Sno) REFERENCES Student(Sno),
					/*表级完整性约束条件,sc_fk_1是外键名(可以省略,有默认值),Sno是外码,被参照表是Student,被参照列是Sno*/
					/*constraint sc_fk_2*/ FOREIGN KEY (Cno) REFERENCES Course(Cno)
					/*表级完整性约束条件,sc_fk_2是外键名(可以省略,有默认值),Cno是外码,被参照表是Course,被参照列是Cno*/
					);

在这里插入图片描述
索引名称

外键名称

添加SC(学生选课表)数据库数据


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值