数据库完整性

为什么要保证数据库完整性:

防止垃圾数据产生,提高执行效率。可靠性+准确性=数据完整性

数据库完整性分类:

1.实体完整性

  1.主键约束:primary key     ----后+auto_increment 主键自增长,从0开始,每次增加1,+auto_increment=10--表示从10开始增加。主键不能为null,不能重复,一个表只能有一个主键。

  2.唯一约束:unique  指定列的值必须唯一,不能重复。

2.域完整性

  1.非空约束:not null。

  2.默认约束:default。

  3.检查约束:    

3.引用完整性

  保证引用编号是有效的。

  外键约束:foreign key....references  

4.用户自定义完整性

  保证自定义规则。

例:

create table userinfo(
info_id int primary key auto_increment,   /*设置info_id为主键,并且自增*/
info_name varchar(20) ,
info_age int not null,  /*设置info_age非空*/        
info_gender int ,
info_address varchar(50),
info_phone varchar(20) unique,  /*设置info_phone值唯一*/
register int,
constraint FK_userinfo_register foreign key(register) REFERENCES users(user_id)  /*设置register为外键,引用users表的user_id*/
)

原文地址:https://www.cnblogs.com/JackieADBM/p/5496370.html