MST

星途 面试题库

面试题:MySQL中等难度之约束类型与数据完整性

在MySQL中,有哪些常见的约束类型用于保障数据完整性?请分别举例说明如何在创建表时添加这些约束。
12.8万 热度难度
数据库MySQL

知识考点

AI 面试

面试题答案

一键面试

在MySQL中,常见的约束类型用于保障数据完整性的有:

  1. 主键约束(PRIMARY KEY):用于唯一标识表中的每一行记录。
CREATE TABLE students (
    student_id INT PRIMARY KEY,
    student_name VARCHAR(50)
);
  1. 唯一约束(UNIQUE):确保某列的值在表中是唯一的。
CREATE TABLE employees (
    employee_id INT,
    email VARCHAR(100) UNIQUE,
    employee_name VARCHAR(50)
);
  1. 外键约束(FOREIGN KEY):用于建立两个表之间的关联关系。假设有departments表和employees表,employees表中的department_id关联departments表中的department_id
CREATE TABLE departments (
    department_id INT PRIMARY KEY,
    department_name VARCHAR(50)
);

CREATE TABLE employees (
    employee_id INT PRIMARY KEY,
    employee_name VARCHAR(50),
    department_id INT,
    FOREIGN KEY (department_id) REFERENCES departments(department_id)
);
  1. 非空约束(NOT NULL):保证某列的值不能为空。
CREATE TABLE products (
    product_id INT PRIMARY KEY,
    product_name VARCHAR(50) NOT NULL,
    price DECIMAL(10, 2)
);
  1. 检查约束(CHECK):用于限制某列的值必须满足指定的条件。
CREATE TABLE orders (
    order_id INT PRIMARY KEY,
    order_amount DECIMAL(10, 2),
    CHECK (order_amount > 0)
);