没有合适的资源?快使用搜索试试~ 我知道了~
基于MySQL数据库的数据约束实例及五种完整性约束介绍
7 下载量 19 浏览量
2020-12-16
13:27:53
上传
评论
收藏 61KB PDF 举报
温馨提示
试读
3页
为了防止不符合规范的数据进入数据库,在用户对数据进行插入、修改、删除等操作时,DBMS自动按照一定的约束条件对数据进行监测,使不符合规范的数据不能进入数据库,以确保数据库中存储的数据正确、有效、相容。 #数据约束 #五种完整性约束: #NOT NULL :非空约束,指定某列不能为空; #UNIQUE : 唯一约束,指定某列或者几列组合不能重复 #PRIMARY KEY :主键,指定该列的值可以唯一地标识该列记录 #FOREIGN KEY :外键,指定该行记录从属于主表中的一条记录,主要用于参照完整性 #CHECK :检查,指定一个布尔表达式,用于指定对应的值必须满足该表达式(mysql不支持
资源详情
资源评论
资源推荐
基于基于MySQL数据库的数据约束实例及五种完整性约束介绍数据库的数据约束实例及五种完整性约束介绍
为了防止不符合规范的数据进入数据库,在用户对数据进行插入、修改、删除等操作时,DBMS自动按照一定的约束条件对数
据进行监测,使不符合规范的数据不能进入数据库,以确保数据库中存储的数据正确、有效、相容。
#数据约束数据约束
#五种完整性约束:
#NOT NULL :非空约束,指定某列不能为空;
#UNIQUE : 唯一约束,指定某列或者几列组合不能重复
#PRIMARY KEY :主键,指定该列的值可以唯一地标识该列记录
#FOREIGN KEY :外键,指定该行记录从属于主表中的一条记录,主要用于参照完整性
#CHECK :检查,指定一个布尔表达式,用于指定对应的值必须满足该表达式(mysql不支持check约束)
#--------------------------------NOT NULL 非空约束 ---------------------------
create table test4
(
#建立非空约束
id int not null,
name varchar(55) default 'ABCD' not null,
#默认值就是null
age int null
);
#取消非空约束
alter table test4
modify name varchar(55) default 'ABCD' not null,
#增加非空约束
alter table test4
modify age int not null;
#--------------------------------UNIQUE : 唯一约束--------------------------------
#列级约束语法建立约束
create table test_unique
(
#建立行级唯一约束
id int not null unique,
age int
);
#表级约束语法格式
create table unique_test3
(
test6_id int not null,
test6_name varchar(255),
test6_pass varchar(255),
#使用表级约束语法建立唯一约束,指定test6_id和test6_name两列组合不能重复
constraint test6_unique unique(test6_id,test6_name),
#使用表级约束语法建立唯一约束,约束名为test6_unique_2,test6_pass不能重复
constraint test6_unique_2 unique(test6_pass)
);
#add关键字增加唯一约束
alter table test4
add unique(id,name,age);
#modify关键字删除或者增加唯一约束
alter table test4
modify age varchar(255) not null;
alter table test4
modify age varchar(255) not null unique;
#对大部分数据库而言,删除约束使用: alter table 表名 drop constraint 约束名
#但是Mysql不采取此方式,而是: alter table 表名 drop index 约束名
#--------------------------------PRIMARY KEY : 主键约束--------------------------------
#主键约束相当于非空约束和唯一约束。
#每个表只允许拥有一个主键,但是这个主键可以由多个数据列组成,这些列组合不能重复
#标准SQL允许给主键自行命名,但是对于Mysql来说自己的名字没有任何作用,总是默认名为PRIMARY
create table primary_test
(
#使用列级语法建立主键约束
test_id int primary key,
test_name varchar(255)
);
#使用表级语法建立主键约束
create table primary_test2
(
test_id int not null,
test_name varchar(255),
test_pass varchar(255),
#指定主键约束名为test2_pk,对大部分数据库有效,但是对mysql无效,此主键约束名仍为PRIMARY
constraint test2_pk primary key (test_id)
);
#以多列组合创立主键
create table primary_test3
weixin_38628211
- 粉丝: 4
- 资源: 927
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0