2021-04-13

本文详细介绍了数据库中的实体完整性、主键约束、唯一约束和自增列等概念。通过实例展示了如何创建和测试这些约束,确保数据的准确性和一致性。同时,提到了域完整性和非空约束、默认值约束,强调了数据类型和字段限制的重要性。
摘要由CSDN通过智能技术生成

实体(entity):就是表中一行的(记录)数据。
实体完整性:标识 每一条数据不重复。
约束类型(通过什么方式解决这个问题):
主键约束(primary key) 不能为空,不重复
唯一约束(unique) 不重复,可以为空
自增长列(auto_increment) 序号自己会改变
36.110.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)
37.110.2.2唯一约束(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(2,“张三丰”);
ERROR 1062 (23000): Duplicate entry ‘张三丰’ for key ‘name’
insert into stu3(id,name) value(2,“张三”);
38.110.2.3自增长列(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”);

39.127 10.3域完整性(单元格,字段,列)
域完整性:用来限制单元格的数据 的正确性。
性别:只能填写 男/女 名字:必须填写,非空
域完整性包含: 数据类型
非空约束(not null)
默认值约束(default)
40.1 10.3.1数据类型
41.1 10.3.2非空约束(not null)
##创建表,名字name字段非空
create table stu5(
id int primary key,
name varchar(50) not null,
sex varchar(10) )
##成功
insert into stu5(id,name,sex) values(1,“zsf”,“男”);
insert into stu5(id,name,sex) values(2,null,“男”);
ERROR 1048 (23000): Column ‘name’ cannot be null
insert into stu5(id,name,sex) values(2,“zz”,null);
42.110.3.3默认值约束(default)
值没给,就使用默认值。
create table stu6(
id int primary key,
name varchar(50) not null,
sex varchar(10) Default “男” );
查看表结构
desc stu6;
insert into stu6(id,name,sex) values(1,“zsf”,“女”);

insert into stu6(id,name) values(2,“zsf”);
查询结构:
select * from stu6;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值