码迷,mamicode.com
首页 > 其他好文 > 详细

数据完整性

时间:2019-11-16 14:54:36      阅读:85      评论:0      收藏:0      [点我收藏+]

标签:rop   foreign   log   创建索引   从表   空值   没有   类型   来源   

数据完整性

1、域完整性:字段/列------非空、缺省

2、实体完整性:记录/行------主键、唯一键

3、引用完整性:表与表之间------外键

 

MySQL中的约束:主键(primary key)、唯一性(unique)、非空(not null)、缺省(default)、外键(foreign key)

 

主键、唯一键、外键都会自动创建索引
一个表只能有一个或一组主键

唯一键:候选主键,区别在于其可以存储空值

外键:来源于主表的主键或者唯一键(外键对应字段:可允许为空,且其值须在外表中出现)

 

外键 在字段最后添加
constraint fk_Elogs_sID foreign key(sID) references Students(sNo)
constraint 约束名 约束类型(对应字段) references 主键(主键字段或位移键字段)
主键
primary key (sid,sCard)

 

外键 在字段最后添加
constraint fk_Elogs_sID foreign key(sID) references Students(sNo)
constraint 约束名 约束类型(对应字段) references 主键(主键字段或位移键字段)
主键
primary key (sid,sCard)

例子:

技术图片

 

 

 

对于已经存在的表添加唯一键约束
alter table S add constraint un_Mobile unique(sMobile)

例:

ALTER TABLE te ADD CONSTRAINT un_Userame UNIQUE(username)

将te表的username字段设置为唯一键,名称为un_Username

 


主外关联,要删除主表数据,需要先删除从表数据
级联更新(使用少)

on delete cascade
on update cascade

用法:

技术图片

 

 

 

删除外键

ALTER TABLE 表名
DROP FOREIGN KEY 外键名称;

ALTER TABLE elogs
DROP FOREIGN KEY fk_elogs_cID;

 

删除主键(注意:1、没有外键引用;2、主键字段不具备自增)
alter table 表名 drop primary key;

 

删除唯一键
alter table 表名drop index 名称;

 

数据完整性

标签:rop   foreign   log   创建索引   从表   空值   没有   类型   来源   

原文地址:https://www.cnblogs.com/zhuyunlong/p/11871426.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!