1)创建学生表student
要求:
(1)属性包括学号(sno)、学生姓名(sname)、年龄(age)、性别(sex)、所在系(dept);
(2)学号为表的主码;
(3)姓名非空;
(4)年龄缺省值为18;
(5)性别男或女;
2)创建课程表course (cno, cname, credit, teacher, pcno)
要求:
(1)属性包括课程号(cno)、课程名称(cname)、学分(credit)、任课老师(teacher)、选修课(pcno);
(2)课程号为表的主码;
(3)课程名非空;
(4)学分类型为实数;
(5)选修课为外码,参考属性为本表的课程号;
3)创建选课表sc
要求:
(1)该表属性包括学号(sno)、课程号(cno)、成绩(score);
(2)学号与课程号联合作为表的主码;
(3)学号参照student表;
(4)课程号参照course表;
(5)成绩在0和100之间;
#创建一个名为SS的数据库
CREATE DATABASE SS;
#使用该数据库
USE SS;
#创建学生表student
CREATE TABLE student(
Sno CHAR(10) PRIMARY KEY,
Sname CHAR(20) NOT NULL,
Ssex CHAR(2) CHECK(Ssex IN('男','女')),
Sage SMALLINT(20),
Sdept CHAR(20)
);
#创建课程表course
CREATE TABLE course(
Cno CHAR(10) PRIMARY KEY,
Cname CHAR(20) NOT NULL,
Credit SMALLINT,
Teacher CHAR(20),
Pcon CHAR(20),
FOREIGN KEY (Pcon) REFERENCES course(Cno)
);
#创建选课表SC
CREATE TABLE SC(
Sno CHAR(10),
Cno CHAR(10),
PRIMARY KEY(Sno,Cno),
Score SMALLINT CHECK (Score>=0 AND Score<=100),
FOREIGN KEY(Sno) REFERENCES student(Sno),
FOREIGN KEY(Cno) REFERENCES course(Cno)
);
#显示创建的表
#显示表的结构
与约束相关操作
1.主键约束
添加:alter table table_name add primary key (字段)
删除:alter table table_name drop primary key
2.非空约束
添加:alter table table_name modify 列名 数据类型 not null
删除:alter table table_name modify 列名 数据类型 null
3.唯一约束
添加:alter table table_name add unique 约束名(字段)
删除:alter table table_name drop key 约束名
4.自动增长
添加:alter table table_name modify 列名 int auto_increment
删除:alter table table_name modify 列名 int
5.外键约束
添加:alter table table_name add constraint 约束名 foreign key(外键列)
references 主键表(主键列)
删除:
第一步:删除外键
alter table table_name drop foreign key 约束名
第二步:删除索引
alter table table_name drop index 索引名
约束名和索引名一样
6.默认值
添加:alter table table_name alter 列名 set default ‘值’
删除:alter table table_name alter 列名 drop default