MySQL中的非唯一与唯一约束(mysql中不唯一的)

MySQL中的非唯一与唯一约束

MySQL是一种关系型数据库管理系统,约束是其中一种用于保证数据的完整性和规范性的手段。MySQL支持两种约束,即非唯一约束和唯一约束。

非唯一约束

非唯一约束也称为普通约束,它是MySQL默认的约束形式。非唯一约束允许表中存在重复的值,不会限制数据的插入和修改,但会在删除行时进行照顾。

非唯一约束的语法如下:

CREATE TABLE 表名(
字段名 数据类型,

CONSTRNT 约束名 (字段名)
)

其中,约束名为非唯一约束时可以省略不写。

例如,我们要创建一个学生信息表,其学号可以存在重复值,代码如下:

CREATE TABLE student(
id INT PRIMARY KEY,
name VARCHAR(20),
birthday DATE,
stu_num VARCHAR(10) CONSTRNT student_stu_num UNIQUE
);

上述代码中,我们使用了唯一约束来限制学生信息表中stu_num字段的唯一性。

唯一约束

唯一约束又称为Unique约束,它的作用是保证表中某个字段的取值唯一,不允许重复。一旦定义了唯一约束,系统就会在表中创建一个唯一索引,来确保数据的唯一性。

唯一约束的语法如下:

CREATE TABLE 表名(
字段名 数据类型,

CONSTRNT 约束名 (字段名) UNIQUE
)

其中,约束名为唯一约束时可以省略不写。

例如,我们要创建一个学生信息表,其邮箱地址必须唯一,代码如下:

CREATE TABLE student(
id INT PRIMARY KEY,
name VARCHAR(20),
birthday DATE,
eml VARCHAR(50) CONSTRNT student_eml UNIQUE
);

上述代码中,我们使用了唯一约束来限制学生信息表中eml字段的唯一性。

总结

MySQL中的约束是保证数据完整性的重要手段之一,分为非唯一约束和唯一约束两种类型。非唯一约束允许表中存在重复的值,不会限制数据的插入和修改,但会在删除行时进行照顾;而唯一约束则保证表中某个字段的取值唯一,不允许重复。在实际应用中,根据数据的特点,选择不同类型的约束来进行数据保护,可以有效地避免无效重复数据的产生,提高数据质量和可靠性。


数据运维技术 » MySQL中的非唯一与唯一约束(mysql中不唯一的)