含义:一种限制,用于限制表中的数据,保证数据的准确和可靠性。
create table 表名(
字段名 字段类型 约束
)
六大约束条件
1.保证字段必须填写not null,一般是有*的必填项。
2。default 默认值,保证该字段有默认值,比如性别等等。
3.primary key :主键值,具有唯一性,非空,像是学号,员工编号,
4.unique ;保证字段唯一性,可以为空,比如:电话号码
5.check: 检查约束。
6.foreign key:外键,限制两个表的内容,保证该字段的值来自关联字段的值。
在从表添加外键约束,用于引用主表的某些列的值。
创建表的时候添加约束
1.添加列级约束:六大约束语法上都支持,但是外键约束没有效果。
use employees
create table employee_info(
id INT primary key, #主键
last_name varchar(20) NOT NULL, #非空约束
gender char(1) check(gender= '男' or gender= '女'),#检查约束
seat INT UNIQUE, #唯一
age INT DEFAULT 19,默认约束
majorId INT REFERENCES major(id) #外键,不支持列级约束
);
2/。添加表级约束:除了非空,其他都不支持。
语法在各个字段的最下面,constraint 约束名 约束类型(字段名)
create table employee_info(
id INT ,
last_name varchar(20),
gender char(1),
seat INT,
age INT,
majorId INT REFERENCES,
【constraint 约束名】
constraint PK primary key(id) #主键
constraint uq unique(seat) #唯一键
constraint ck check(gender ='男'。
);
主键 pk 唯一 unique
主键唯一性,不能为空!
唯一键有一个可以为空,保证唯一性!
主键一个表中至多有一个 ,唯一键一个表中可以有多个。
是否允许组合,两个键组合成一个主键或者唯一键。
primary key (id,name)是允许两个键组合成一个主键。组合主键的意思是只有两个组合的键内容完全匹配相同才会出现报错。
外键:1.要求从从表设置外键关系
2.从表的外键列的类型和主表的关联列类型要求一致。
3.主表的关联列必须是一个key,一般是主键或者唯一。插入数据的时候,先插入主表,在插入从表。删除数据的时候,先删除从表在删除主表。