博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql唯一约束和非空_MySQL||唯一约束(Unique Key)和非空约束(NOT NULL)
阅读量:4578 次
发布时间:2019-06-08

本文共 1265 字,大约阅读时间需要 4 分钟。

唯一约束

MySQL唯一约束(Unique Key)要求该列唯一,允许为空,但只能出现一个空值。唯一约束可以确保一列或者几列不出现重复值。

非空约束

MySQL 非空约束(NOT NULL)可以通过 CREATE TABLE 或 ALTER TABLE 语句实现。在表中某个列的定义后加上关键字 NOT NULL 作为限定词,来约束该列的取值不能为空。

非空约束(Not Null Constraint)指字段的值不能为空。对于使用了非空约束的字段,如果用户在添加数据时没有指定值,数据库系统就会报错。

在创建表时设置唯一约束

在定义完列之后直接使用 UNIQUE 关键字指定唯一约束,语法规则如下:

UNIQUE

创建表时可以使用 NOT NULL 关键字设置非空约束,具体的语法规则如下:

NOT NULL;

示例:创建一个学生表,设名字不能为空值且唯一

CREATE TABLE student4 (

CODE INT PRIMARY KEY,

NAME VARCHAR (50) NOT NULL UNIQUE,-- 加非空约束 -- 唯一约束

sex CHAR (2) DEFAULT '男',

phone CHAR (18),

age INT CHECK (age BETWEEN 17 AND 22),

enter_time date

);

DESC student4;

INSERT INTO student4(CODE,NAME,sex,phone,age,enter_time)

VALUES(

1112,

'王健林',

'男',

'19887678767',

21,

now()

);

INSERT INTO student4

VALUES(

1113,

'王健林',

'男',

'13886787679',

20,

now()

);

26e1683cb4ae0b6ae38aee7008c69e92.png

修改约束条件

和默认值约束一样,修改约束条件的语法相似

ALTER TABLE

CHANGE COLUMN

NOT NULL;

ALTER TABLE ADD CONSTRAINT UNIQUE();

比如我现在想把上面的手机号修改成非空且唯一,操作如下:

ALTER TABLE student4

CHANGE COLUMN phone

phone CHAR(18) NOT NULL UNIQUE;

DESC student4;

INSERT INTO student4(CODE,NAME,sex,phone,age,enter_time)

VALUES(1118,'刘强东','男','19887678767',21,now());

INSERT INTO student4

VALUES(1119,'李彦宏','男','19887678767',20,now());

6b24ac00896792f2f11dc4257e89d91e.png

删除操作就是将他们的条件赋空值或者清除掉

ALTER TABLE DROP INDEX ;

ALTER TABLE

CHANGE COLUMN NULL;

感兴趣的读者可以自行调试,这里不再展开

转载地址:http://plqms.baihongyu.com/

你可能感兴趣的文章
jquery 正则表达式
查看>>
mysql查询更新时的锁表机制分析(只介绍了MYISAM)
查看>>
JDBC如何调用存储过程
查看>>
扫盲记-第五篇--图像全景分割
查看>>
Haproxy安装与配置
查看>>
Linux之Ganglia源码安装
查看>>
Android中的Handler,Looper,Message机制
查看>>
Roman Numeral Converter
查看>>
魔幻之翼的博客
查看>>
文件发送成功率低的问题(1)
查看>>
异步方法 async/await
查看>>
37 数组的概念
查看>>
去掉SrollView、GrdiView、ListView、ViewPager等滑动到边缘的光晕效果
查看>>
我选择的……
查看>>
akka actor初探
查看>>
linux清理Java环境
查看>>
SharedPreferences
查看>>
TCP协议
查看>>
高级IO-锁与进程和文件
查看>>
详解C#break ,continue, return
查看>>