SQL 约束: 5种键值
作者:互联网
在MySQL 中通常有 5 中约束
键名 | 关键字 | 说明 |
---|---|---|
主键 | PRIMARY KEY | 表中一行数据的唯一标识符,类似索引、name; 值不能重复 |
默认值 | DEFAULT | 插入新数据时生效。如果不设置,值自动设置为默认值 |
非空 | NOT NULL | 值为空时会报错,不能为空 |
唯一 | UNIQUE | 值不能重复 |
外键 | FROREIGN KEY | 两个(或多个)表中的数据关联时,会用到外键 |
CREATE DATABASE mysql_shiyan;
use mysql_shiyan;
CREATE TABLE department
(
dpt_name CHAR(20) NOT NULL, -- dpt_name 非空
people_num INT(10) DEFAULT '10', -- people_num 默认值是 10
CONSTRAINT dpt_pk PRIMARY KEY (dpt_name) -- 设置主键为dpt_name, 并起了个小名dpt_pk
);
CREATE TABLE employee
(
id INT(10) PRIMARY KEY, -- 设置主键
name CHAR(20),
age INT(10),
salary INT(10) NOT NULL, -- 非空
phone INT(12) NOT NULL,
in_dpt CHAR(20) NOT NULL,
UNIQUE (phone), -- 唯一, phone 不能重复
CONSTRAINT emp_fk FOREIGN KEY (in_dpt) REFERENCES department(dpt_name) -- 设置外键, 把employee 中的in_dpt 和 department 中的dpt_name关联起来
);
CREATE TABLE project
(
proj_num INT(10) NOT NULL,
proj_name CHAR(20) NOT NULL,
start_date DATE NOT NULL,
end_date DATE DEFAULT '2015-04-01',
of_dpt CHAR(20) REFERENCES department(dpt_name),
CONSTRAINT proj_pk PRIMARY KEY (proj_num,proj_name) # 设置主键(复合主键)
);
标签:10,dpt,name,INT,约束,键值,KEY,SQL,NULL 来源: https://blog.csdn.net/weixin_40313634/article/details/99582436