MySQL表级完整性约束

为防止不符合规范的数据存入数据库,在用户对数据进行插入、修改、删除等操作时,MySQL提供
了一种机制来检查数据库是否满足规定的条件,以保证数据库中数据的准确性和一致性,这种机制
就是完整性约束。MySQL中主要支持六种完整性约束,如表所示。
完整性约束
约束条件 约束描述
PRIMARY KEY 主键约束,约束的值可唯一的标识对应的记录
NOT NULL 非空字段的值不能为空
UNIQUE 唯一约束,约束1字段的值是唯一的
CHECK 检查约束,限制某个字段的取值范围
DEFAULT 默认值约束,约束字段的默认值
AUTO_INCREMENT 自动增加位数,约束字段的值自动递增
FOREIGN KEY 外键约束,约束与表之间的关系
约束从作用上可以分为两类:(1) 表级约束:可以约束表中任意一个或多个字段。与列定义的相互独立,不包含
在列表定义中;与定义用‘,’分隔;必须指出要约束的列的名称;(2) 列级约束:包含在列定义中,直接跟在该列的其他定义之后,用空格分隔,不必指定列名;
1、主键约束
主键约束(PRIMARY KEY,缩写PK),是数据库中最重要的一种约束,其作用是约束表中的某个字段可以
唯一标识一条记录。因此,使用主键约束可以快速查找表中的记录,就像人的身份证、学生的学号等等,
设置主键的字段取值不能重复(唯一),也不能为空(非空),否则无法唯一标识一条记录。2、非空约束
非空约束(NOT NULL,缩写NK),规定一张表中指定的某个字段的值不能为空(NULL),设置了非空约束
的字段,在插入的数据为NULL时,数据库会提示错误,导致数据无法插入。
无论是单个字段还是多个字段非空约束的添加只能使用列级约束(非空约束无表级约束)

为已存在表中的字段添加非空约束

alter table student modify stu_sex varchar(1)not null;

使用ALTER TABLE语句删除非空约束

3、唯一约束:
唯一约束(UNIQUE,缩写QK):它规定了一张表中指定的某个字段的值不能重复,即这一字段的
每个值都是唯一的。如果想要某个字段的值不重复,那么就可以为该字段添加唯一约束。4、检查约束
检查约束(CHECK)用来限制某个字段的取值范围,可以定义为列级约束,也可以定义为表级约束。
MySQL8开始检查表级约束5、默认值约束
默认值约束(DEFAULT)用来规定字段的默认值。。如果某个被设置为DEFAULT约束的字段没插入具体指,
那么该字段的值将会被默认值填充。
默认值约束的设置与非空约束一样,也只能使用列级约束。6、字段值自动增加约束
自增约束(AUTO_INCREMENT)可以使表中某个字段的值自动增加。一张表中只能有一个自增长字段,
并且该字段必须定义了约束(该约束可以使主键约束、唯一约束以及自增长约束),如果自增长字段没有
定义约束,数据库会提示错误。
由于自增约束会自动生成唯一的ID,所以自增约束通常会配合主键使用,并且只适用于数据整型。一般情
况下,设置自增约束字段的值会从1开始,每增加一条记录,该字段的值就加1.

为已存在表中的字段添加自增约束

create table stu(stu_id int(10) primary key,stu_name varchar(3),stu_sex varchar(1));

使用ALTER TABLE语句删除自增约束

alter table stu modify stu_id int(10);

MySQL表级完整性约束相关推荐

  1. mysql面试常问 1: 谈谈MySQL表级锁和行级锁

    谈谈MySQL表级锁和行级锁 表级锁与索引无关 行级锁与索引的关系呢??答案是有关系的,但是要具体分析不同情况 主键索引与 行级锁的关系 非主键索引与行级锁的关系 实验如下: CREATE TABLE ...

  2. mysql表级锁和行级锁_MySQL表级锁和行级锁

    一:概述 相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制.比如,MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking ...

  3. mysql表级锁和行级锁_Mysql的表级锁和行级锁

    表级锁 MySQL表级锁分为读锁和写锁. 读锁 用法:LOCK TABLE table_name [ AS alias_name ] READ 释放锁使用UNLOCK tables.可以为表使用别名, ...

  4. MySQL—表的完整性约束(外键约束)(一)

    1.什么是完整性约束? 为防止不符合规范的数据存入数据库,在用户对数据进行插入.修改.删除等操作时,MySQL提供了一种机制来检查数据库中的数据是否满足规定的条件,以保证数据库中数据的准确性和一致性, ...

  5. mysql表添加完整性约束_SQL语句——完整性约束

    1.MySQL支持的完整性约束 a.主键约束 特点:唯一且非空 主键可以由一个字段组成,也可以由多个字段组成 如果主键由一个字段组成,既可以添加到列级,也可以添加到表级. 如果主键由多个字段组成,则只 ...

  6. MySQL表级约束和列级约束

    MySQL中只要支持六种完整性约束,如表所示:其中check约束是MySQL8中提供的支持. 约束条件 约束描述 primary key 主键约束,约束的值可唯一的标识对应的记录 not null 非 ...

  7. mysql表级锁和行级锁

    表级锁和行级锁对比: 表级锁: Mysql中锁定 粒度最大 的一种锁,对当前操作的整张表加锁,实现简单,资源消耗也比较少,加锁快,不会出现死锁.其锁定粒度最大,触发锁冲突的概率最高,并发度最低,MyI ...

  8. mysql行级安全_MySQL学习笔记(五):MySQL表级锁和行级锁

    一:概述 相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制.比如,MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking ...

  9. mysql 表级锁_MySQL行级锁和表级锁

    锁定用于确保事务完整性和数据库一致性. 锁定可以防止用户读取其他用户正在更改的数据,并防止多个用户同时更改相同的数据. 如果不使用锁定,数据库中的数据可能在逻辑上变得不正确,而针对这些数据进行查询可能 ...

最新文章

  1. jvm两种方式获取对象所占用的内存
  2. 一种结合混沌密码理论的彩色图象水印算法
  3. Linux Container 研究报告
  4. 根据工作时间计算小组成员得分
  5. jQuery 购物车
  6. 数字图像处理--图像梯度的基本原理
  7. MySQL使用触发器实现check约束功能
  8. [Vue.js] 基础 -- 综合案例 -- 图书管理
  9. eclipse设置java虚拟机内存大小_eclipse设置java虚拟机内存大小
  10. takephoto 框架_GitHub - Smecking/TakePhoto: 一款用于在Android设备上获取照片(拍照或从相册、文件中选择)、裁剪图片、压缩图片的开源工具库...
  11. Android 深入ViewPager补间动画,实现类京东商城首页广告Banner切换效果
  12. 【论文学习】Abnormal behavior recognition for intelligent video surveillance systems: A review
  13. Linux终端收听mms流媒体电台
  14. android 拨打电话 实例,Android实战教程第三篇之简单实现拨打电话功能
  15. 对辛辛那提原始数据集(ims)数据划分正常,内圈故障,滚动体故障,外圈故障(python代码),可作为自己故障诊断模型实验的另一个数据集(因为CWRU普遍而言,准确度和被使用频率已经极高)
  16. 【U8】U8c及NC凭证模板修改附单据数字段
  17. treeview demo
  18. KNIME的学习使用心得
  19. k3s 卸载_离线安装K3S Server(v1.17.4+k3s1)
  20. eclipse报unknown database错误的其中一种方法解决归纳

热门文章

  1. lamda获取参数集合去空_(转)Java8使用lambda表达式进行集合的遍历
  2. mysql 分页 order_Mysql查询使用limit分页,同时使用order by可能产生的问题
  3. html风车相册代码,Css Html 大风车(示例代码)
  4. 有没有必要买python课_请问自学 Python 有必要买课程吗?
  5. Win7系统网页视频无法播放怎么办
  6. 大地最新win11 32位专业版镜像v2021.07
  7. 腾讯视频网页下载_腾讯视频怎么下载视频
  8. oracle 监听拒绝连接,报mybatis映射文件错误Listener refused the connection with the following error: ORA-12519, TNS
  9. layer.open 强化1
  10. centos6.5配置Hadoop环境,运行wordcount例子