mysql整理4-数据库数据完整性约束讲解

数据完整性约束指的是:数据的准确性和可靠性。

完整性约束

实体完整性:能唯一标示一个实体
	主键约束primary key
	唯一约束unique
	主键自增auto_increment

域(字段)完整性:
	非空约束:not null
	默认约束:default

引用完整性:一张表中通用列的取值必须参考另外一张表主键字段。
    外键约束:foreign key
    
自定义完整性:
	check约束: 在mysql中不能使用
A.实体完整性

实体:记录
实体完整性约束保证数据记录之间是准确的(能够唯一标识一个实体)。
主键约束: 唯一的,不能为空。 primary key
#1.添加主键约束
create table student(
sid int primary key,
sname varchar(20)
);

#2.添加主键约束
create table student(
sid int,
sname varchar(20),
primary key(sid)
);

#3.表创建之后添加主键约束
create table student(
sid int,
sname varchar(20)
);
#主键约束
alter table student add CONSTRAINT PK_SID primary key(sid);

1.字段选择?
	唯一的,不要选择业务字段。
2.主键添加
	一张表中只能有一个主键,但是可以有联合主键(多个字段整体作为主键)。
3.每张表必须设置主键

唯一约束: 不能重复 可以添加多个(unique)
alter table userinfo add CONSTRAINT UQ_CARD unique(card);

主键自增: 从1开始,每次自身加1(oracle不能使用,序列)
create table student(
sid int primary key auto_increment,
sname varchar(20)
);
删除约束:
alter table student drop primary key

B.域完整性

域: 字段
类型约束:
非空约束: 不能为空 not null
默认值: default 值

#非空和默认值
create table student(
sid int primary key auto_increment,
sname varchar(20) not null,
gender bit(1) default 1
);

C.引用完整性

一张表中通用列的取值必须参考另外一张表主键字段。
外键约束:foreign key

alter table student add CONSTRAINT FK_CID foreign key(cid)
	REFERENCES classroom(cid);

注意:

1.主外键关联
2.外键关联字段名称可以不一样,但是类型必须一致。
D.自定义完整性

check约束: 在mysql中不能使用
Alter table student add constriaint check(age between 1 and 150)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值