约束

数据完整性:实体完整性(主键,唯一性)
                             参照完整性 (外键约束)
                              值域完整性(检查约束 check)

约束:
主键约束:唯一的标示表中的记录。一个表只能建一个主键约束。

1.建表的同时加上主键。
要求:建学生表,学号为主键
create table xs1(
学号 char(6) not null primary key,
姓名 varchar(8) ,
出生日期 datetime);

create table xs1(
学号 char(6) not null ,
姓名 varchar(8) ,
出生日期 datetime,
primary key(学号)
);

 


学生成绩表,在学号和课程号的组合上建主键

create table xs_kc1(
学号 char(6) ,
课程号 char(3),
 成绩 float,
primary key(学号,课程号)
);

2.修改表结构的时候添加上主键。
create table abc(
id int not null,
name varchar(8));

alter table abc
add primary key(id);


create table test(
id int not null auto_increment  primary key,
name varchar(8),
birthday datetime);


唯一性约束:
create table xs1(
学号 char(6) not null ,
姓名 varchar(8) unique ,
出生日期 datetime,
primary key(学号)
);


create table xs1(
学号 char(6) not null ,
姓名 varchar(8)  ,
性别 char(2) default '男',
出生日期 datetime,
primary key(学号),
unique(姓名)
);

alter table xs1
add unique(姓名);

 

外键约束
foreign key(字段名) references 表名(字段名)

要求成绩表中学号的数据应该来源于学生表里的学号数据。
create table xs_kc1(
学号 char(6) ,
课程号 char(3),
成绩 float,
primary key(学号,课程号),
foreign key(学号) references xs(学号),
foreign key(课程号) references kc(课程号));


alter table xs_kc1
add constraint fk_kch foreign  key (课程号) references kc (课程号)


在原来的三张表上添加上主键,外键和唯一性约束。

emp:

empid   name  ..... headerid

领导编号来源于雇员编号。

 

check约束
check(条件)
check(性别 in('男','女'))


create table xs_kc1
(学号 char(6),
课程号 char(6),
成绩 float check(成绩 between 0 and 90),
primary key(学号,课程号),
foreign key(学号) references xs(学号) on delete cascade,
foreign key(课程号) references kc(课程号));

create table xs_kc1
(学号 char(6),
课程号 char(6),
成绩 float check(成绩 between 0 and 90),
constraint pk_xskc_xhkch primary key(学号,课程号),
constraint fk_xh foreign key(学号) references xs(学号) on delete cascade,
constraint fk_kch foreign key(课程号) references kc(课程号));

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值