五大约束详解

##MYSQL 约束详解
一、什么是约束
约束英文:constraint
约束实际上就是表中数据的限制条件
二、约束作用
表在设计的时候加入约束的目的就是为了保证表中的记录完整和有效
比如name字段中要让其用户名不重复,这就需要添加约束。或者必须注册的时候需要添加邮箱等
三、约束种类
非空约束(not null)
唯一性约束(unique)
主键约束(primary key) PK
外键约束(foreign key) FK
检查约束(check)
四、添加约束的时机
创建表时
修改表时
五、约束的添加分类
列级约束六大约束语法上都支持,但是外键约束没有效果
表级约束除了非空、默认,其他都支持
1.1非空约束
用not null约束的字段不能为null值,必须给定具体的数据

create table 表名(列名1 类型1,列名2 类型2 not null);
列级约束

2.1唯一性约束
unique约束的字段,具有唯一性,不可重复,但可以为null

create table 表名(列名1 类型1,列名2 类型2 not null,列明3 类型3 unique);
列级约束
 create table 表名(列名1 类型1,列名2 类型2 not null,列明3 类型3
,unique(列名3[,列名2]));
标级约束
中括号表示可有可无,可添加多列保证唯一行

4.1主键约束(primary key)PK

1、主键约束与“not null unique”区别
给某个字段添加主键约束之后,该字段不能重复也不能为空,效果和”not null unique”约束相同,但是
本质不同。
主键约束除了可以做到”not null unique”之外,还会默认添加”索引——index2、一张表应该有主键字段,如果没有,表示该表无效
主键值:是当前行数据的唯一标识、是当前行数据的身份证号 即使表中两行记录相关数据相同,但由于
主键值不同,所以也认为是两行不同的记录
3、按主键约束的字段数量分类
无论是单一主键还是复合主键,一张表主键约束只能有一个(约束只能有一个,但可以作用到好几个字
段)
单一主键:给一个字段添加主键约束
复合主键:给多个字段联合添加一个主键约束(只能用表级定义) 单一主键(列级定义)
A单一主键
create table t_user(字段1 类型1, 字段2 类型2 not null,constraint 约束名称   primary key(字段1));
B复合主键
create table t_user(字段1 类型1, 字段2 类型2 not null,constraint 约束名称   primary key(字段1,字段2));

5.1外键约束(foreign key)FK

foreign key(字表字段) references 父表(父表与子表相关字段)

表级约束起名字

create table 表名(列名1 类型1,列名2 类型2 not null,列名3 类型3,constraint 起的名字 unique(列名3));
  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值