码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2015-07-30 12:46:54      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:

约束类型:

1、NOT NULL (非空约束)

技术分享

 

2、PRIMARY KEY(主键约束)

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

主键保证记录的唯一性

主键自动为NOT NULL

技术分享

(Auto_increment  自动编码  )

 

3、UNIQUE KEY(唯一约束)

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

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

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

技术分享

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

技术分享

 

DEFAULT(默认约束)

对sex字段添加默认约束

技术分享

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

技术分享

 

FOREIGN KEY(外键约束)

保持数据一致性,完整性

实现一对一或一对多关系

Mysql的配置文件

Default_storage-engine=INNODB

创建父表

技术分享

存储在INNODB

SHOW CREATE TABLE province;

技术分享

创建子表

FOREIGN KEY(pid) REFERENCES prvince(id)

技术分享

父表参照列没有创建索引

技术分享

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

技术分享

 外键约束的参照操作

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

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

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

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

技术分享

技术分享

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

技术分享

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

技术分享

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

技术分享

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

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

 

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

标签:

原文地址:http://www.cnblogs.com/xjs123/p/4688601.html

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