约束名称 | 描述 | 关键字 |
---|---|---|
非空约束 | 保证列中所有数据不能有null值 | NOT NULL |
唯一约束 | 保证列中所有数据各部相同 | UNIQUE |
主键约束 | 主键是一行数据的唯一标识,要求非空且唯一 | PRIMARY KEY |
检查约束 | 保证列中的值满足某一条件 | CHECK |
默认约束 | 保存数据时,未指定值则采用默认值 | DEFAULT |
外键约束 | 外键用来让两个表的数据之间建立连接,保证数据的一致性和完整性 | FOREIGN KEY |
tips mysql 不支持检查约束
自动增长:auto_increment:当前是数字类型且 唯一约束。
select *FROM emp;
CREATE TABLE emp(
id INT PRIMARY KEY auto_increment,-- 主键自增
ename VARCHAR(50) NOT NULL UNIQUE,-- 非空
salary DOUBLE(7,2) NOT NULL,-- 非空
bonus DOUBLE(7,2) DEFAULT 0-- 默认值
);
外键
语法:
添加约束
-- 创建表时添加外键约束
create table 表名(
列名 数据类型,
·······
constraint 外键名称 foreign key (外键字段名称) references 主表名称(主表列名称)
)
-- 建完表后添加外键约束
alter table 表名 add constraint 外键名称 foreign key (外键字段名称) references 主表名称(主表列名称);
-- 删除约束
alter table 表名 drop foreign key 外键名称;