MySQL中常见约束有哪些?作用和用法是什么?
数据库教程在MySQL数据库中,约束是确保数据完整性和一致性的重要机制。它们定义了数据表中数据的规则,并限制了可以插入或更新的数据类型。以下是MySQL中常见的几种约束及其作用和用法。
-
NOT NULL约束
作用:确保某列不能有NULL值。
用法:在创建表时,为某列指定NOT NULL约束。
CREATE TABLE example ( id INT NOT NULL, name VARCHAR(50) NOT NULL );
-
UNIQUE约束
作用:确保某列(或某几列组合)的所有值都是唯一的。
用法:在创建表时,为某列或某几列组合指定UNIQUE约束。
CREATE TABLE example ( id INT UNIQUE, email VARCHAR(100) UNIQUE );
-
PRIMARY KEY约束
作用:唯一标识数据库表中的每一条记录。一个表只能有一个主键,并且主键列的值不能是NULL。主键约束在逻辑上也包含UNIQUE约束的功能。
用法:在创建表时,为某列指定PRIMARY KEY约束。
CREATE TABLE example ( id INT PRIMARY KEY, name VARCHAR(50) );
-
FOREIGN KEY约束
作用:用于在两个表之间建立关联,以保证数据引用完整性。
用法:在创建表时,为某列指定FOREIGN KEY约束,并指定其引用另一个表的主键列。
CREATE TABLE orders ( order_id INT PRIMARY KEY, customer_id INT, FOREIGN KEY (customer_id) REFERENCES customers(id) );
-
CHECK约束(MySQL 8.0.16版本及以后支持)
作用:用于限制列中的值范围。
用法:在创建表时,为某列指定CHECK约束,并定义约束条件。
CREATE TABLE example ( age INT CHECK (age >= 0 AND age <= 150) );
这些约束在数据库设计和维护中起着至关重要的作用,它们可以确保数据的完整性和准确性,减少因数据错误而导致的问题。