当前位置:首页 > 行业动态 > 正文

MySQL中5种约束的详解

MySQL中的5种约束包括:主键约束(PRIMARY KEY)、外键约束(FOREIGN KEY)、唯一约束(UNIQUE)、非空约束(NOT NULL)和检查约束(CHECK)。

MySQL中的5种约束主要包括:

1、非空约束(NOT NULL)

2、唯一约束(UNIQUE)

3、主键约束(PRIMARY KEY)

4、外键约束(FOREIGN KEY)

5、检查约束(CHECK)

下面是对这5种约束的详细解释:

1. 非空约束(NOT NULL)

非空约束用于限制列中的值不能为NULL,当在表中定义某个列时,如果希望该列始终有值,而不是空值,可以使用非空约束,创建一个包含姓名和年龄的表,我们希望每个人都有名字和年龄,所以可以使用非空约束来确保这些列始终有值。

CREATE TABLE person (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(255) NOT NULL,
  age INT NOT NULL
);

2. 唯一约束(UNIQUE)

唯一约束用于确保某列的值在表中是唯一的,这意味着在任何时候,都不允许有两个相同的值存在于具有唯一约束的列中,如果我们希望确保每个人的电子邮件地址在表中是唯一的,可以使用唯一约束。

CREATE TABLE person (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(255) NOT NULL,
  email VARCHAR(255) UNIQUE,
  age INT NOT NULL
);

3. 主键约束(PRIMARY KEY)

主键约束用于唯一标识表中的每一行记录,主键列中的值必须是唯一的,并且不能为NULL,一个表只能有一个主键,这个主键可以由一个或多个列组成,我们可以使用ID作为主键来唯一标识每个人。

CREATE TABLE person (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(255) NOT NULL,
  email VARCHAR(255) UNIQUE,
  age INT NOT NULL
);

4. 外键约束(FOREIGN KEY)

外键约束用于确保在一个表中的数据与另一个表中的数据相匹配,外键是一个或多个字段的组合,其值应匹配另一个表的主键,如果我们有一个订单表和一个客户表,我们可以使用外键约束来确保每个订单都与一个有效的客户关联。

CREATE TABLE customer (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(255) NOT NULL,
  email VARCHAR(255) UNIQUE,
  age INT NOT NULL
);
CREATE TABLE order (
  id INT AUTO_INCREMENT PRIMARY KEY,
  customer_id INT,
  product_name VARCHAR(255) NOT NULL,
  FOREIGN KEY (customer_id) REFERENCES customer(id)
);

5. 检查约束(CHECK)

检查约束用于限制列中的值必须满足指定的条件,如果我们希望确保每个人的年龄在18到100之间,可以使用检查约束。

CREATE TABLE person (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(255) NOT NULL,
  email VARCHAR(255) UNIQUE,
  age INT NOT NULL CHECK (age >= 18 AND age <= 100)
);
0

随机文章