MYSQL系列文章目录
目录
建立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(学生)数据库数据
/*插入单条记录*/
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(学生选课表)数据库数据