mysql约束

一.概念

约束是用于作用于表中字段上的规则,用于限制存储在表中的数据。

2.目的

保证数据库中数据的正确、有效性、和完整性。

3.分类

4.案例

1.创建表

2.插入数据

3.查看数据

1.id约束

可以看到id在自增

2.name的null约束

3.check约束

4.default约束

5.外键约束

外键约束用来让两张表的数据之间建立连接,从而保证数据的一致性和完整性。

但是现在我们这样创建这样两张表,他们只要逻辑上的关系 如果把研发部删了 ,emp表却还是写着1号部分,我们需要建立外键关系

1.添加外键

此时如果你想要删除一个父表的研发部,他将会告诉你,这是一个父表,你还关联了一个子表

这样就保证了我们数据的一致性和完整性

2.删除外键

alter table emp drop foreign key 外键名;

3.外键删除更新行为

1.cascade(级联)

更新

现在我们把研发部为1的改为6,子表也会改为6

删除

把研发部删除,也会跟着删除对应有关研发部的所有记录

2.set null

2.1更新研发部

改为6

2.2删除研发部

删除6

相关推荐
蓝胖子酱5 分钟前
在 Electron 中用 electron-store 实现加密存储与自定义格式文件
前端·javascript·数据库
snow@li1 小时前
Redis:数据库语法速查表 / 全景梳理
数据库·redis·缓存
Devlive 开源社区1 小时前
Nebula 1.6.0 发布:跨区域桶自动路由、秒传、文本/PDF 预览一次到位
数据库·sql
这个DBA有点耶1 小时前
导个数据中文全变问号?字符集这事儿真没那么简单
数据库·mysql·代码规范
wuqingshun3141592 小时前
MYSQL中如果发生死锁应该如何解决?
数据库·mysql
DO_Community2 小时前
Weaviate 托管数据库现已在 DigitalOcean 上开放公测
数据库·人工智能·开源·向量数据库·weaviate
报错小能手2 小时前
索引常见面试题
数据库
Database_Cool_3 小时前
时序数据库选型:阿里云 Lindorm 时序引擎 vs InfluxDB 全维度对比
数据库·阿里云·时序数据库
其实防守也摸鱼3 小时前
渗透--损坏的对象级别鉴权漏洞(Broken Object Level Authorization, BOLA)
大数据·网络·数据库·学习·tcp/ip·安全·安全威胁分析
hehelm3 小时前
IO 多路复用 — Reactor
linux·服务器·网络·数据库·c++