你的位置:首页 > 软件开发 > 数据库 > Mysql学习(慕课学习笔记5)约束

Mysql学习(慕课学习笔记5)约束

发布时间:2015-07-30 12:00:32
约束类型:1、NOT NULL (非空约束) 2、PRIMARY KEY(主键约束)每张数据表只能存在一个主键主键保证记录的唯一性主键自动为NOT NULL(Auto_increment 自动编码 ) 3、UNIQUE KEY(唯一约束)唯一约束可以保证记录的 ...

约束类型:

1、NOT NULL (非空约束)

Mysql学习(慕课学习笔记5)约束

 

2、PRIMARY KEY(主键约束)

每张数据表只能存在一个主键

主键保证记录的唯一性

主键自动为NOT NULL

Mysql学习(慕课学习笔记5)约束

(Auto_increment  自动编码  )

 

3、UNIQUE KEY(唯一约束)

唯一约束可以保证记录的唯一性

唯一约束的字段可以为空值

每张数据表可以存在多个唯一约束

Mysql学习(慕课学习笔记5)约束

向带有唯一约束的username字段插入相同的内容时,系统会提示错误

Mysql学习(慕课学习笔记5)约束

 

DEFAULT(默认约束)

对sex字段添加默认约束

Mysql学习(慕课学习笔记5)约束

当sex字段为空时系统默认将其记录为3

Mysql学习(慕课学习笔记5)约束

 

FOREIGN KEY(外键约束)

保持数据一致性,完整性

实现一对一或一对多关系

Mysql的配置文件

Default_storage-engine=INNODB

创建父表

Mysql学习(慕课学习笔记5)约束

存储在INNODB

SHOW CREATE TABLE province;

Mysql学习(慕课学习笔记5)约束

创建子表

FOREIGN KEY(pid) REFERENCES prvince(id)

Mysql学习(慕课学习笔记5)约束

父表参照列没有创建索引

Mysql学习(慕课学习笔记5)约束

外键不存在索引的话,mysql将自动创建

Mysql学习(慕课学习笔记5)约束

 外键约束的参照操作

Cascade 从父表删除或更新且自动删除或更新子表中匹配的行

SET NULL 从父表删除或更新行,并设置子表中的外键列为NULL

Restrict  拒绝对父表的删除或更新操作

No action 标准SQL的关键字,在MYSQL中与restrict相同

Mysql学习(慕课学习笔记5)约束

Mysql学习(慕课学习笔记5)约束

进行父表的添加,看子表的变动

Mysql学习(慕课学习笔记5)约束

删除主表province中id=3的记录

Mysql学习(慕课学习笔记5)约束

子表user1中pid为3的记录也被删除

Mysql学习(慕课学习笔记5)约束

对一个数据列建立的约束,称为列级约束

对多个数据列建立的约束,称为表级约束

 


原标题:Mysql学习(慕课学习笔记5)约束

关键词:MYSQL

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。