­

SQL 约束: 5种键值

  • 2019 年 10 月 10 日
  • 筆記

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_40313634/article/details/99582436

在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)  # 设置主键(复合主键)   );