约束

Posted tingshu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了约束相关的知识,希望对你有一定的参考价值。

1.not null(非空约束)

2.unique(唯一约束)
唯一约束不可重复,但是可以为NULL,因为NULL不是值,可以认为NULL是不同的
mysql> create table t_test(
-> id int,
-> code varchar(255) unique #列级约束
);

mysql> create table t_test(
-> id int,
-> code varchar(255),
-> name varchar(255),
-> unique(code,name)); #表示这两个字段联合唯一【表级约束】
Query OK, 0 rows affected (1.30 sec)

insert into t_test values(1,\'111\',\'zs\');
insert into t_test values(1,\'111\',\'ls\');
上述插入记录是可以的

3.(primary key)主键约束
添加主键约束后,该字段数据不能为NULL也不能重复,且不能为空
主键是这行记录在这张表中的唯一标识
注意:
一张表的主键约束只能有一个。
主键和分为单一主键和复合主键 (多个字段联合起来添加一个主键约束)
mysql提供主键值自增:关键字,atuo_increment
mysql> create table t_test(
-> id int,
-> code varchar(255) primary key auto_increment #不传入
);

4.(foreign key)外键约束
外键主要用来关联两张表,其中一张表的外键字段是另一张表的主键字段。另一张表叫做父表,含有外键的表叫做子表。
create table t_student(
-> sno int,
-> sname varchar(255),
-> classno int,
-> foreign key(classno) references t_class(cno)); 添加格式
Query OK, 0 rows affected (1.64 sec)

以上是关于约束的主要内容,如果未能解决你的问题,请参考以下文章

19约束之间的比较:主键约束联合约束唯一约束外键约束

什么是列级约束

约束_概述和约束_非空约束

「MySQL」- 约束详解

check约束叫啥约束?

SQL Server中的六种约束:主键约束,外键约束,唯一约束,非空约束,检查约束,默认约束