约束
约束是作用于表中列上的规则,用于限制加入表的数据
约束的存在保证了数据库中数据的正确性,有效性和完整性
单表约束 |
描述 |
关键字 |
非空约束 |
保证列中所有数据不能有null值 |
not null |
唯一约束 |
保证列中所有数据各不相同 |
unique |
主键约束 |
主键是一行数据的唯一标识,要求非空且唯一,一张表只能有一个主键。 |
primary key |
检查约束 |
保证列中数据的值满足某一条件 |
check(MySql不支持检查约束) |
默认约束 |
保存数据时,未指定值则采用默认值 |
default |
create database if not exists db2;
use db2;
DROP TABLE IF EXISTS emp;
-- 员工表
CREATE TABLE if not exists emp (
id INT primary key auto_increment, -- 员工id,主键且自增长
ename VARCHAR(50) not null unique , -- 员工姓名,非空并且唯一
joindate DATE not null , -- 入职日期,非空
salary DOUBLE(7,2) not null , -- 工资,非空
bonus DOUBLE(7,2) default 0-- 奖金,如果没有奖金默认为0
);
SELECT * from emp;
CREATE TABLE if not exists emp (
id INT auto_increment, -- 员工id,主键且自增长
ename VARCHAR(50) not null unique , -- 员工姓名,非空并且唯一
joindate DATE