当前位置: 首页 > article >正文

MySQL基础篇 - 约束

01 概述

【1】概念:约束就是作用在表中字段上的规则,用于限制存储在表中的数据。

【2】作用:保证数据库中数据的正确性,有效性和完整性。

【3】分类:

  ① 非空约束not null:用于限制字段的值不能为null

  ② 唯一约束unique:保证字段所有数据都是唯一的

  ③ 主键约束primary key:主键是一行数据的唯一标识,要求非空且唯一

       注意:① 如果插入数据没有成功,但由于已经申请到了主键,所以下一个插入数据的主键值可能与前面不连续。

                  ② MySQL中独有的主键自增:auto_increment

  ④ 默认约束default:保存数据时,如果未指定该字段的值,则采用默认值

  ⑤ 检查约束check:保证字段值满足某一条件,注意(8.0.16版本之后才出现这个约束条件,本电脑的版本用不了)

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

【说明】:约束是作用在表中字段上的,可以在创建表/修改表的时候添加约束。

【普通约束的格式】:字段名 字段类型 约束条件(ps:约束条件之间不要加逗号) comment 'xx';

02 约束演示

【SQL语句添加约束】:

【图形化界面添加约束】:

03 外键约束

【1】具有外键的表称为子表,与外键相关联的表称为父表。

【2】子表外键里的内容对应着父表的主键内容,如果没有建立外键关联,是无法保证数据的一致性和完整性的,例如:删除父表中的内容,子表中的数据是不会发生变化的;如果是建立了外键关联,则无法去删除父表中的数据。

【3】添加/删除外键的语法:

   ① 关键字:constraint约束,references参考,谈及

04 外键删除更新行为

【1】no action(默认行为):在父表中删除/更新对应记录时,首先检查是否有外键关联,如果有则不允许操作

【2】restrict:同上

【3】caseade:在父表中删除/更新对应记录时,首先检查是否有外键关联,如果有则也删除/更新子表中的记录

【4】set null:在父表中删除/更新对应记录时,首先检查是否有外键关联,如果有则子表中该外键值设为null(外键值一定可以取null值)

【设置外键删除更新行为】:在添加外键的语句后面加上 on update xx on delete xx

【图形化界面设置外键的删除更新行为】: 

 


http://www.kler.cn/news/326129.html

相关文章:

  • Eclipse Memory Analyzer (MAT)提示No java virtual machine was found ...解决办法
  • Altium Designer脚本的执行方式
  • 【漏洞复现】VEXUS多语言货币交易所存在未授权访问漏洞
  • centos已安装python3.7环境,还行单独安装python3.10环境,如何安装,具体步骤
  • 进程、线程、协程详解:并发编程的三大武器
  • websocket初识
  • 数据集-目标检测系列-兔子检测数据集 rabbit >> DataBall
  • 中国资产“超级星期四”之后,腰部中概股或成增长“黑马”
  • Linux云计算 |【第四阶段】PROJECT2-DAY1
  • 如何使用开发者工具捕获鼠标右键点击事件
  • Tensorflow2.0
  • Spring Boot 进阶-深入了解SpringBoot条件注解
  • VLAN与三层交换机的原理与配置
  • 基于单片机的小车行走加温湿度检测系统
  • 前端框架对比及选择:React、Vue、Angular的深度剖析
  • 图解C#高级教程(一):委托
  • 【MySQL】视图、用户和权限管理
  • JAVA内存模型!=JVM内存模型
  • UI设计师面试整理-工具和技术技能
  • 【大牛!】3DMAX城市交通插件CityTraffic使用方法详解
  • 关于vue2+uniapp+uview+vuex 私募基金项目小程序总结
  • 一文讲清CSS基础之浮动float原理
  • 关于宿主机功能正常docker容器重启后dns失效的解决办法
  • 江科大笔记—LED闪烁 LED流水灯 蜂鸣器
  • 每一个云手机的ip是独立的吗
  • .NET 6.0 使用log4net配置日志记录方法
  • electron教程(三)窗口设置
  • 微服务--Docker
  • 前端vue3中父div width: 40%; height: 62%; 子div如何设置相对父位置不变
  • 边缘计算网关:轻工行业的智能化新引擎