mysql慕课版代码_Mysql学习(慕课学习笔记五)约束_mysql

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

约束类型:

1、NOT NULL (非空约束)

7c67eb68fde62a68a2673312c2e0aa2d.png

2、PRIMARY KEY(主键约束)

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

主键保证记录的唯一性

主键自动为NOT NULL

fca6fff1719001354d1b32603f7032a5.png

(Auto_increment  自动编码  )

3、UNIQUE KEY(唯一约束)

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

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

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

578ce32a3cb9c9f1b6b69eac9ecf2db1.png

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

f6efbc2335ca9b08b3199cdfa98efd4a.png

DEFAULT(默认约束)

对sex字段添加默认约束

f46d8fc919bafb4111b291a1c6facd9f.png

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

e0c4690b3a66459f1d958866cbcab482.png

FOREIGN KEY(外键约束)

保持数据一致性,完整性

实现一对一或一对多关系

Mysql的配置文件

Default_storage-engine=INNODB

创建父表

6647497284a1e7e9842c12224ba9cd8b.png

存储在INNODB

SHOW CREATE TABLE province;

464c53cb54c134698300ce1676143f68.png

创建子表

FOREIGN KEY(pid) REFERENCES prvince(id)

71743fe398d8d7a807fc85ec6d0178e7.png

父表参照列没有创建索引

7f87cc63a9b1f96cc455715cf86ca47a.png

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

cfa295f72da54f68c76b1b17d87395f7.png

外键约束的参照操作

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

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

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

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

d0cad0fe54a5b6d6f775f4fecbb92d72.png

50abc22d325b8eae385a193a1d7e026b.png

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

d24049888e63a81a0f2dfff7fd4ff683.png

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

32b9925f0a8eef217cce3382c6cc4194.png

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

fb1fcf24023df23ebea79da6617f7bf6.png

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

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

欢迎大家阅读《Mysql学习(慕课学习笔记五)约束_mysql》,跪求各位点评,by 搞代码

e7ce419cf2d6ad34d01da2ceb8829eed.png

微信 赏一包辣条吧~

023a57327877fb4402bcc76911ec18ea.png

支付宝 赏一听可乐吧~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值