数据库
首页 > 数据库> > SQL 约束: 5种键值

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