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

【SQL】MySQL中的约束

1. 主键约束(primary key):

  • 相当于唯一约束+非空约束
  • 分为单列主键,多列联合主键,一个表只有一个主键
  • 多列联合主键的每列都不能为空

2. 自增长约束(auto_increment):

  • 用在单列主键后面,且该列只能是整数类型(tinyint,smallint,int,bigint),实现主键自增长
  • delete删除数据后自动增长从断点开始,truncate删除数据后自动增长从默认起始值开始

3. 非空约束(not null):

  • 该列的值不能为空
  • 真正的空是NULL,不是’NULL’,也不是’’

4. 唯一约束(unique):

  • 该列的值不能重复
  • 该列可以为NULL,NULL不等于NULL,即可以有多条NULL的记录

5. 默认约束(default):

  • 指定某列的默认值,若该列没有指定值则为默认值

6. 零填充约束(zerofill)(使用非常少):

  • 插入数据时,当该字段的值长度小于定义的长度,在该值的前面补上0

7. 外键约束 - 一对多关系(foreign key):

  • 主键所在的表就是主表,外键所在的表就是从表
    添加数据:
  • 必须先给主表添加数据,再给从表添加数据
  • 外键列的值不能随便填写,必须依赖主表的主键列
    删除数据:
  • 主表的数据被从表依赖时,不能删除,否则可以删除
  • 从表的数据可以随便删除
    在这里插入图片描述

8. 外键约束 - 多对多关系(foreign key):

  • 多对多可以拆解成两个一对多的关系
    在这里插入图片描述

多表关系:

一对一: 很少用,因为一对一的话则可以合并成一张表
一对多/多对一: 例如学生和班级,一个班级对应多个学生
多对多: 例如学生和课程,一个学生对应多个课程,一个课程对应多个学生

http://www.lryc.cn/news/188413.html

相关文章:

  • css div左右布局
  • 06_Node.js服务器开发
  • git中添加不上传的文件夹或文件的名字
  • Android: edittext禁止输入空格和特殊字符代码记录
  • SpringMVC常用注解
  • 微信小程序
  • Python教程——配置环境,再探IDE
  • java BigDecimal取消科学计数法显示
  • 南昌新颜|AIGC艺术之光,历史的魅力与未来的探索
  • 电容笔有必要买吗?电容笔牌子排行
  • SpringCloud学习笔记-Ribbon负载均衡
  • 安装JAVA 依赖环境 Maven 教程
  • 小程序A跳转小程序B并且自动登录
  • 【微服务部署】八、HAProxy+Keepalived高可用负载均衡集群配置
  • 机器学习(21)---召回率(recall)、精度(precision)和准确率(accuracy)
  • EsayExcel让不同标题有不同的颜色
  • Ant Design of React 创建项目及运行环境
  • NoSQL之Redis 主从复制配置详解及哨兵模式
  • 界面组件DevExpress WinForms v23.2新功能预览 - 增强MVVM相关功能
  • vue3前端开发-开发环境安装篇
  • MVCC和BufferPool缓存机制
  • 论文阅读笔记(Clover: 计算与存储被动分离的分布式键值存储系统)
  • 大模型推理框架概述
  • 抖音商品详情数据接口,抖音商品详情API接口
  • 睿趣科技:抖音开网店怎么开通
  • 体育场馆能源消耗监测管理平台,为场馆提供能源服务
  • 前端本地存储方案-localForage-vue3中使用
  • vivo年度新“机皇”X100系列要来了!
  • 滴滴发布十一大数据:延边出行需求上涨280% 西部省份成旅游热点
  • Allegro如何查看器件的管脚号?