mysql中的约束

本文详细介绍了数据库约束的概念和类型,包括非空约束、唯一性约束、主键约束、外键约束以及检查约束。非空约束确保字段不为空,唯一性约束保证字段值的唯一,主键作为表的唯一标识,外键用于关联不同表,检查约束则限制了字段值的合法性。强调了主键和外键在数据库完整性中的重要性,并给出了各种约束的使用示例。
摘要由CSDN通过智能技术生成

1.约束的作用就是为了保证表中数据的有效性,完整性.

约束直接添加在列的后面,这种约束称为为列级约束.

约束没有添加在列的后面,这种约束称为表级约束.

2.约束的类型:

2.1非空约束(not null)

非空约束not null约束的字段值不能为null,not null只有列级约束,没有表级约束.

使用方法:在建表的时候加在数据类型之后,例如:

2.2唯一性约束(unique)唯一性约束可以为空

唯一性约束unique约束的字段中的值不能重复,但可以为null,可以多个字段联合起来使用一个唯一性约束,需要用表级约束.

第一种使用方法(给某个字段添加唯一性约束):

这种写法叫做列级约束.

第二种方法(多个字段联合起来使用一个唯一性约束)

这种写法叫做表级约束. 

2.3主键约束(primary key简称PK)

在mysql中,如果一个字段同时被not null和unique修饰,则该字段自动变成主键字段.

主键值是每一行记录的唯一标识.

任何一张表都应该有主键,没有主键,表无效.

主键的特征:not null+unique(主键值不能是null,同时也不能重复)

多个字段联合起来做主键称为复合主键,在平时,建议使用单一主键.

一张表,主键约束只能添加一个,主键值的数据类型建议使用int,bigint,char,主键值一般都是定长的.

自然主键:主键值是一个自然数,和业务没关系.

业务主键:主键值和业务紧密相关

在平时推荐使用自然主键.

单一主键:

auto_increment表示从1开始自增,插入数据时可以直接输入name,添加在列后面,是列级约束.

复合主键:

没有添加在列后面,是表级约束.

2.4外键约束(foreign key简称FK)

外键约束需要两张表联合起来使用,有外键的表称为子表,没有外键的表称为父表,主要作用就是为了限制子表中某一字段的值只能为附表中某一字段的值.

外键约束的使用方法:

注意:子表中的外键引用父表中某个字段的值,被引用的这个字段可以不是主键,但必须具有唯一性unique!!!.

外键可以为null.

删除表的顺序:先删子,再删父.

创建表的顺序:先建父,再建子.

删除数据的顺序:先删子,再删父.

插入数据的顺序:先插父,再插子.

 2.5检查约束(check)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值