sql基本表的定义,删除与修改
一 定义基本表
1. 建立一个“学生”表student
create table student(
sno char(9) primary key, /*列级完整性约束条件,sno是主码*/
sname char(20) unique, /*sname取唯一值*/
ssex char(2),
sage smallint,
sdept char(20)
);
2.建立一个“课程”表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是外码,被参照表是本表,被参照列是cno*/
);
3.建立一个选课表
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是外码,被参照表是本表,被参照列是cno*/
);
二 修改基本表
1. 向student表增加“入学时间”列,其数据类型为日期型
alter table student add s_entrance date
2. 将年龄的数据类型由字符类型改为整数
alter table student alter column sage int;
3. 增加课程名称必须区唯一值的约束条件
alter table course add unique(cname);
三 修改基本表
1. 普通删除
drop table student;
2. 级联删除
drop table student cascade;
#解释:student表中的sno被sc表中的cno参照了