2倍速学习网  >  数据库教程  >  MySQL中常见约束有哪些?作用和用法是什么?

MySQL中常见约束有哪些?作用和用法是什么?

一、主键约束(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)
);

MySQL中常见约束有哪些?作用和用法是什么?

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

推荐阅读