mysql中 唯一约束的关键字是_mysql的约束

本文详细介绍了MySQL中的四种主要约束类型:非空约束、唯一性约束、主键约束和外键约束。通过实例演示了如何创建和使用这些约束,强调了它们在数据完整性和一致性中的作用。非空约束确保字段不为空,唯一性约束保证数据的唯一性,主键约束作为表的唯一标识,外键约束则维护了不同表之间的数据关联。
摘要由CSDN通过智能技术生成

在mysql设计表中,有个概念叫做约束

什么是约束

约束英文:constraint

约束实际上就是表中数据的限制条件

约束种类

mysql的约束大概分为以下几种:非空约束(not null)

唯一性约束(unique)

主键约束(primary key) PK

外键约束(foreign key) FK

检查约束(目前MySQL不支持、Oracle支持,本文不做介绍)

为了能继续看下去,打开mysql,创建了一个表:create table `test`

(

`id` int auto_increment primary key , ## 主键约束

`name` varchar(64) not null unique , ## 非空约束+唯一性约束

`password` varchar(64) not null default '', ## 非空约束

`age` tinyint(3) default 0,## 没有约束

`add_time` datetime ## 没有约束

)engine =InnoDb

charset = 'utf8';

在这个创建语句中,我们使用到了3种约束(非空约束,主键约束,唯一性约束);在后面会使用到外键约束

非空约束

非空约束是我们最常见的一种约束方式,它规定了我们插入数据不允许为空(在mysql中,''不是空,null才是),例如以下插入语句:insert into `test`(`name`,`password`)value ('test','123456');## 插入成功

insert into `test`(`name`,`password`)value ('test2',null);## password不能为null

insert into `test`(`name`)value ('test3');## 插入成功,password虽然有约束,但是有default '',当未指定password值时,默认为''

insert into `test`(`name`)value ('test');## 唯一性约束,test已经存在

5e63815dae613a1b20e8a17e88860af3.png

应用场景方面,例如用户邮箱,用户密码不能为空,都可以增加非空约束

唯一性约束

唯一性约束是使用unique关键字进行的约束,它有多种约束方式以及约束形式.

单字段约束

列级直接约束:create table `unique_test1`(

`id` int(11) auto_increment primary key ,

`name` varchar(64) unique

)

表级约束:create table `unique_test1`(

`id` int(11) auto_increment primary key 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值