MYSQL 唯一约束
一、唯一约束(UNIQUE)
唯一约束用来保证一列(或一组列)中的数据是唯一的。类似与主键,但是有以下区别:
- 表可包含多个唯一约束,但每个表只允许一个主键。
- 唯一约束列可包含 NULL 值。
- 唯一约束列可修改或更新。
- 唯一约束列的值可重复使用。
- 唯一约束不能用来定义外键。
二、创建唯一约束
1、 定义表中单列的唯一约束
CREATE TABLE Employees
(
? ? social_num INTEGER UNIQUE
);-- 给表的 social_num 列定义添加关键字 UNIQUE,使其成为唯一约束。如果在 social_num 列中插入或更新导致重复值的值,MySQL将发出错误消息并拒绝更改
2、定义表的唯一约束(单列)
CREATE TABLE Employees
(employee_name CHAR(50) NOT NULL,social_num INTEGER,phone INTEGER,UNIQUE (social_num)
);-- 如果在 social_num 列中插入或更新导致重复值的值,MySQL将发出错误消息并拒绝更改
3、定义表的唯一约束(多列联合)
CREATE TABLE Employees
(employee_name CHAR(50) NOT NULL,social_num INTEGER,phone INTEGER,UNIQUE (employee_name, social_num)
);-- 要求两个字段联合起来时唯一的,即employee_name + social_num 是唯一的
4、使用CONSTRAINT语法定义唯一约束(可指定约束名)
(1)创建表时定义
-- 创建表时定义
CREATE TABLE Employees
(employee_name CHAR(50) NOT NULL,social_num INTEGER,phone INTEGER UNIQUE,employee_address CHAR(255),CONSTRAINT name_address UNIQUE (employee_name, employee_address)
);-- 插入数据
INSERT INTO Employees(employee_name, employee_address) VALUES('a', 'NJ');
- 第一个UNIQUE约束应用于phone列,表示每个雇员必须具有不同的电话号码
- 第二个UNIQUE约束名称为name_address,表示雇员employee_name可以重复,employee_address可以重复,但employee_name+employee_address必须唯一不可重复。例:a + NJ 和 a + SH
a + NJ 和 b + NJ
a + NJ 和 b + SH
a + NJ 和 a + NJ 报错“1062 - Duplicate entry”
(2)在已创建好的表上加唯一约束
-- 在已创建好的表上加唯一约束,指定约束名为uni_name
ALTER TABLE Employees
ADD CONSTRAINT uni_name UNIQUE (employee_name);-- 在已创建好的表上加唯一约束,不指定约束名
ALTER TABLE Employees
ADD UNIQUE (employee_name);
三、删除唯一约束
添加唯一约束时,MySQL将为数据库创建一个相应的 BTREE 索引,所以删除索引即可删除约束。通过如下命令查询索引:
SHOW INDEX FROM 表名;
-- 格式一:
DROP INDEX 约束名 ON 表名;
-- 例如:
DROP INDEX name_address ON Employees;-- 格式二:
ALTER TABLE 表名
DROP INDEX 约束名;
-- 例如:
ALTER TABLE Employees
DROP INDEX name_address;
参考学习链接:
mysql联合唯一约束_MySQL中添加唯一约束和联合唯一约束 - 百度文库
MySQL唯一约束 -MySQL教程?
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
MYSQL 唯一约束相关推荐
- MySQL唯一约束(UNIQUE KEY)
MySQL唯一约束(Unique Key)要求该列唯一,允许为空,但只能出现一个空值.唯一约束可以确保一列或者几列不出现重复值. 在创建表时设置唯一约束 在定义完列之后直接使用 UNIQUE 关键字指 ...
- mysql 唯一约束 多字段_mysql多字段唯一约束
MySQL唯一约束(Unique Key)要求该列唯一,允许为空,但只能出现一个空值.唯一约束可以确保一列或者几列不出现重复值. 在创建表时设置唯一约束 在定义完列之后直接使用 UNIQUE 关键字指 ...
- mysql 唯一约束_Mysql 唯一性约束添加
一.单列唯一约束 在一列上添加唯一约束,主要是让该列在表中只能有唯一的一行,例如注册邮箱时的邮箱名.手机号等信息,相关操作如下: 1.建表时加上唯一性约束: CREATE TABLE `t_user` ...
- java mysql 唯一约束_java MySQL约束
# 今日内容 1. DQL:查询语句 1. 排序查询 2. 聚合函数 3. 分组查询 4. 分页查询 2. 约束 3. 多表之间的关系 4. 范式 5. 数据库的备份和还原 # DQL:查询语句 1. ...
- MySQL使用什么关键字添加唯一约束_mysql怎么添加唯一约束?
方法:1.创建表时,使用"CREATE TABLE 表名(字段名 数据类型 UNIQUE);"语句来添加:2.修改表时,使用"ALTER TABLE 表名 ADD CON ...
- mysql唯一key_MySQL唯一约束(UNIQUE KEY)
MySQL唯一约束(Unique Key)要求该列唯一,允许为空,但只能出现一个空值.唯一约束可以确保一列或者几列不出现重复值. 在创建表时设置唯一约束 在定义完列之后直接使用 UNIQUE 关键字指 ...
- 5、唯一约束(UNIQUE KEY)
MySQL 唯一约束(Unique Key)是指所有记录中字段的值不能重复出现.例如,为 id 字段加上唯一性约束后,每条记录的 id 值都是唯一的,不能出现重复的情况.如果其中一条记录的 id 值为 ...
- 数据库表的主键、唯一约束和索引
目录 1.MySQL的主键. 2.MySQL的唯一约束. 3.MySQL的索引. 4.主键.唯一约束和唯一索引的区别. 1.MySQL 的 主键. "主键" 的完整称呼是 &quo ...
- 如何在MySQL中为多个列指定唯一约束?
我有一张桌子: table votes (id,user,email,address,primary key(id), ); 现在,我想使列的用户,电子邮件,地址唯一(在一起). 如何在MySql中执 ...
最新文章
- 程序分析的一些概念总结
- 合肥python培训-在合肥学习Python去哪
- 浅谈 G1 GC 日志格式
- pc端html轮播带滑块,swiper.js简单快速实现轮播滑动(兼容PC端、移动端)
- 一步一步写算法(之“数星星”)
- linux等候脚本,linux – 在bash脚本中继续之前等待通过ssh运行的脚本完成
- Ubuntu环境下安装UliPad
- 二十一世纪计算|洪小文:帮助机器和人类共同学习
- 100个最热门的国人开发开源软件
- 中国流动人口动态监测调查数据(CMDS)2010-2018年
- 2021-10-8 学习周报
- SpringBoot导出Jar包并测试(使用IDEA)
- 亲子操打开孩子感官能力
- 清华大学计算机系教授武汉理工大学,武汉理工大学
- echarts 设置仪表盘数字的位置_全新数字高尔夫独具的特色!外观前卫紧跟潮流...
- STM32 SPI发送波形
- c盘用户/user/AppData文件夹下无用文件删除
- 需求管理软件(TC Requirement)介绍
- 《阿特拉斯耸耸肩》后记:我的选择:一定要理性一定要幸福哦
- Maven极速便捷安装教程
热门文章
- python怎么输出坐标_使用Python实现图像标记点的坐标输出功能
- rayleigh波的频散曲线matlab,运用matlab画出瑞利波的频散曲线
- Failed to execute goal org.apache.maven.plugins:maven-archetype-plugin:3.1.1:generate
- 1.有四个数字:1,2,3,4能组成多少个互不相同且无重复数字的三位数?各是多少?
- 【无标题】关于DBC文件的格式解析(DBC文件系列其二)
- DSCP(Differentiated Service Codepoint,差分服务代码点)
- Matlab - 产生高斯噪声
- 全球及中国集成电路产业战略规划与运营前景调研报告2022版
- 数据库:MySQL 修改密码
- 回顾Vue2---②