IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Mysql学习笔记十一--约束 -> 正文阅读

[大数据]Mysql学习笔记十一--约束

1. 约束的基本介绍

约束用于确保数据库的数据满足特定的商业规则。
在mysql中,约束包括:not null、unique、primary key 、 foreign key 和 check 5种

2. primary key 主键的基本使用

在这里插入图片描述
用于唯一的标示表行的数据,当定义主键约束后,该列不能重复
主键使用的细节讨论:

  1. primary key 不能重复而且不能为null

  2. 一张表最多只能有一个主键,但可以是复合主键
    在这里插入图片描述
    在这里插入图片描述

  3. 主键的指定方式有两种:1. 直接在字段名后指定:字段名 primary key / 2. 在表定义最后写 primary key(列名);
    在这里插入图片描述

  4. 使用 desc 表名,可以看到 primary key 的情况。
    在这里插入图片描述
    在这里插入图片描述

!!!在实际开发中每个表往往都有一个主键

3. not null(非空)

如果在列上定义了 not null ,那么当插入数据时,必须为列提供数据。
在这里插入图片描述

4. unique(唯一)

当定义了唯一约束后,该列值是不能重复的。
在这里插入图片描述

  1. 如果没有指定 not null ,则 unique 字段可以有多个 null
  2. 一张表可以有多个 unique 字段
    在这里插入图片描述

5. foreign key(外键)

用于定义主表和从表之间的关系:外键约束要定义在从表上, 主表则必须具有主键约束或是 unique 约束,当定义外键约束后,要求外键列数据必须在主表的主键列存在或是为 null
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
细节说明:

  1. 外键指向的表的字段,要求是 primary key 或者是 unique
  2. 表的类型是 innodb,这样的表才支持外键
  3. 外键字段的值,必须在主键字段中出现过,或者为 null 【前提是外键字段允许为 null】
  4. 一旦建立主外键的关系,数据不能随意删除了。

check

用于强制行数据必须满足的条件,假定在 sal 列上定义了 check 约束,并且要求 sal 列值在 1000-2000 之间如果不在1000-2000 之间就会提示出错。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.自增长基本介绍

在某张表中,存在一个id列(整数),我们希望在添加记录的时候,该列从1开始,自动的增长。
在这里插入图片描述
在这里插入图片描述

示例说明

1.创建表
在这里插入图片描述
2. 测试自增长的使用
在这里插入图片描述

自增长使用细节:

  1. 一般来说自增长是和 primary key 配合使用的
  2. 自增长也可以单独使用【但是需要配合一个 unique】
  3. 自增长修饰的字段为整数型的(虽然小数也可以但是非常非常少这样使用)
  4. 自增长默认从 1 开始,你也可以通过如下命令修改 alter table 表名 auto_increment = xxx;
  5. 如果你添加数据时,给自增长字段(列)指定的有值,则以指定的值为准,后面插入的值在你指定的值以后自增。
  6. 如果指定了自增长,一般来说,就按照自增长的规则来添加数据,而不自己手动指定。
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-06-08 19:06:49  更:2022-06-08 19:08:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 22:21:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码