面试题答案
一键面试在MySQL中,常见的约束类型用于保障数据完整性的有:
- 主键约束(PRIMARY KEY):用于唯一标识表中的每一行记录。
CREATE TABLE students (
student_id INT PRIMARY KEY,
student_name VARCHAR(50)
);
- 唯一约束(UNIQUE):确保某列的值在表中是唯一的。
CREATE TABLE employees (
employee_id INT,
email VARCHAR(100) UNIQUE,
employee_name VARCHAR(50)
);
- 外键约束(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)
);
- 非空约束(NOT NULL):保证某列的值不能为空。
CREATE TABLE products (
product_id INT PRIMARY KEY,
product_name VARCHAR(50) NOT NULL,
price DECIMAL(10, 2)
);
- 检查约束(CHECK):用于限制某列的值必须满足指定的条件。
CREATE TABLE orders (
order_id INT PRIMARY KEY,
order_amount DECIMAL(10, 2),
CHECK (order_amount > 0)
);