一、主键约束(PRIMARY KEY)
重点内容:主键约束用于唯一标识表中的每一行数据,它不允许有空值(NULL)和重复值。
作用和用法:在创建表时,可以通过在列上添加PRIMARY KEY关键字来设置主键约束。例如:
CREATE TABLE Users (
UserID INT PRIM...
在MySQL数据库中,约束(Constraints)是一种用于限制表中数据类型的规则,以确保数据的准确性和可靠性。了解和合理使用这些约束,对于数据库的设计和维护至关重要。下面,我们来详细探讨MySQL中常见的几种约束及其作用和用法。
一、主键约束(PRIMARY KEY)
重点内容:主键约束用于唯一标识表中的每一行数据,它不允许有空值(NULL)和重复值。
作用和用法:在创建表时,可以通过在列上添加PRIMARY KEY关键字来设置主键约束。例如:
CREATE TABLE Users (
UserID INT PRIMARY KEY,
UserName VARCHAR(50)
);
二、外键约束(FOREIGN KEY)
重点内容:外键约束用于维护两个表之间的数据一致性,它确保一个表中的值在另一个表中存在。
作用和用法:在创建表时,可以通过在列上添加FOREIGN KEY关键字来设置外键约束,并指定参照的表和列。例如:
CREATE TABLE Orders (
OrderID INT PRIMARY KEY,
UserID INT,
FOREIGN KEY (UserID) REFERENCES Users(UserID)
);
三、唯一约束(UNIQUE)
重点内容:唯一约束确保表中的一列或多列组合的值是唯一的,但允许有空值。
作用和用法:在创建表时,可以通过在列上添加UNIQUE关键字来设置唯一约束。例如:
CREATE TABLE Users (
UserID INT PRIMARY KEY,
Email VARCHAR(100) UNIQUE
);
四、非空约束(NOT NULL)
重点内容:非空约束确保列不能有空值。
作用和用法:在创建表时,可以通过在列定义后添加NOT NULL关键字来设置非空约束。例如:
CREATE TABLE Users (
UserID INT PRIMARY KEY,
UserName VARCHAR(50) NOT NULL
);
五、检查约束(CHECK,MySQL 8.0.16+支持)
重点内容:检查约束用于确保列中的值满足特定条件。
作用和用法:在创建表时,可以通过在列上添加CHECK关键字和条件表达式来设置检查约束。例如:
CREATE TABLE Products (
ProductID INT PRIMARY KEY,
Price DECIMAL(10,2),
CHECK (Price >= 0)
);

通过合理使用这些约束,可以大大提高数据库数据的完整性和一致性,减少数据错误和异常情况的发生。