SQL UNIQUE 学习笔记

在 SQL 中,UNIQUE 约束用于确保表格中的每行数据在某个列上是唯一的。这意味着这个列的值不能重复。

语法

创建一个包含 UNIQUE 约束的表格的语法如下:

sqlCopy Code
CREATE TABLE table_name ( column1 datatype UNIQUE, column2 datatype, column3 datatype, ..... );

实例

例如,我们想要创建一个学生表格,其中每个学生的身份证号必须是唯一的。这时可以使用 UNIQUE 约束来实现。

首先,我们需要创建一个名为 student 的表格,其中包含以下列:name、age 和 id_number。

sqlCopy Code
CREATE TABLE student ( name VARCHAR(50), age INT, id_number VARCHAR(18) UNIQUE );

接下来,我们向表格中插入一些数据。

sqlCopy Code
INSERT INTO student (name, age, id_number) VALUES ('Tom', 18, '11010120000101001X'), ('Jerry', 19, '11010120000202002X'), ('Mickey', 20, '11010120000303003X'), ('Donald', 21, '11010120000404004X');

但如果我们想向表格中插入一条身份证号码已经存在的记录,则会出现错误。

sqlCopy Code
-- 尝试插入一个重复的身份证号记录 INSERT INTO student (name, age, id_number) VALUES ('Harry', 22, '11010120000303003X');

会收到以下错误提示:

Copy Code
Error Code: 1062. Duplicate entry '11010120000303003X' for key 'id_number'

这是因为我们在创建表格时使用了 UNIQUE 约束,因此表格中的每个身份证号码都必须是唯一的。

总结一下,UNIQUE 约束是 SQL 中的一种重要约束条件,可以确保数据表中的某一列的值是唯一的。在实际应用中,很多场景下都需要使用 UNIQUE 约束来保证数据的正确性。