数据完整性

数据完整性

十、数据完整性
10.1什么是数据完整性
作用:保证 用户的输入的数据 保存到数据库 是正确的:
比如:
年龄:应该是数字,
学号:应该是不重复的。
成绩:不能为空
。。。
怎么去保证数据的完整性:添加约束。
完整性约束分类;
实体(记录)完整性
域完整性
10.2实体完整性(行)
实体(entity):就是表中一行的(记录)数据。
实体完整性:标识 每一条数据不重复。
约束类型(通过什么方式解决这个问题);
主键约束(primary key)
不能为空,不重复
唯一约束(unique)
不重复,可以为空
自增长列(auto_increment)
序号自己会改变
10.2.1主键约束(primary key)
特点:不能为空,不重复
##没有约束
create table stu0(
id int,
name varchar(50)

insert into stu0(name)value(“张三丰”);

##方式一:创建表,并且添加主键约束
create table stu1(
id int primary key,
name varchar(50)

##方式二:
create table stu2(
id int,
name varchar(50),
primary key(id,name)

成功:insert into stu1(id,name)value(2,“张三丰”);#成功

测试一:insert into stu1(id,name)value( null,“张三丰”);失败。提示不能为空
ERROR 1048 (23000):Column ‘id’ cannot be null

测试二:
插入重复值;报错
Duplicate entry ‘2’for key ‘PRIMARY’
select *from stu1;
自增长列(auto_increment)
10.2.2唯一约束(unique)
不重复,可以为空
##唯一约束(unique)
##给名字 添加 唯一的 约束
create table stu3(
id int primary key;
name varchar(50)unique

insert into stu3(id,name)value(1,“张三丰”);

insert into stu3(id,name)value(1,“张三丰”);
ERROR 1062(23000);Duplicate entry ‘张三丰’ for key ‘name’

insert into stu3(id,name)value(2,“张三”);
10.2.3自增长列(anto_increment)
##自增长列(auto_increment)

##实现,用户的学号,自动增长,
create table stu4(
id int primary key auto_increment,
name varchar(50)

##插入数据
insert into stu4(name)values(“zsf”);
insert into stu4(name)values(“ls”);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值