MySQL 8.x从入门到精通(视频教学版)
上QQ阅读APP看书,第一时间看更新

2.3.5 使用唯一性约束

唯一性约束(Unique ConstraINT)要求该列唯一,允许为空,但只能出现一个空值。唯一性约束可以确保一列或者几列不出现重复值。

唯一性约束的语法规则如下:

(1)在定义完列之后直接指定唯一约束,语法规则如下:

     字段名 数据类型 UNIQUE

【例2.10】定义数据表tb_dept2,指定部门的名称唯一,SQL语句如下:

     CREATE TABLE tb_dept2
     (
     id INT PRIMARY KEY,
     name VARCHAR(22) UNIQUE,
     location VARCHAR(50)
     );

(2)在定义完所有列之后指定唯一约束,语法规则如下:

     [CONSTRAINT <约束名>] UNIQUE(<字段名>)

【例2.11】定义数据表tb_dept3,指定部门的名称唯一,SQL语句如下:

     CREATE TABLE tb_dept3
     (
     id INT PRIMARY KEY,
     name VARCHAR(22),
     location VARCHAR(50),
     CONSTRAINT STH UNIQUE(name)
     );

UNIQUE和PRIMARY KEY的区别:一个表中可以有多个字段声明为UNIQUE,但只能有一个PRIMARY KEY;声明为PRIMAY KEY的列不允许有空值,但是声明为UNIQUE的字段允许空值(NULL)的存在。