mysql怎么写列级约束
时间 : 2023-03-08 17:01:01声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性
MySQL的列级约束指的是在定义表中的某一列时,对该列的数据值进行限制或规定的约束条件。MySQL支持多种列级约束,以确保数据的完整性和一致性。以下是一些常用的列级约束及其应用方法。
1. NOT NULL约束
NOT NULL约束用于限制某一列的数据值不能为空值。在创建表结构时,可以在列名后面加上NOT NULL关键字。如果某行在该列中出现空值,则会触发一个错误:
CREATE TABLE employees (
employee_id INT PRIMARY KEY,
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL,
hire_date DATE NOT NULL,
job_title VARCHAR(100)
);
2. UNIQUE约束
UNIQUE约束用于确保某一列中的数据值都是唯一的。在创建表结构时,可以在列名后面加上UNIQUE关键字。这意味着,如果插入重复的数据行将会触发一个错误:
CREATE TABLE employees (
employee_id INT PRIMARY KEY,
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE,
hire_date DATE NOT NULL,
job_title VARCHAR(100)
);
3. PRIMARY KEY约束
PRIMARY KEY约束用于将某一列或多列标识为该表的主键。在创建表结构时,可以在列名后面加上PRIMARY KEY关键字。主键不允许重复,并且不能包含空值:
CREATE TABLE employees (
employee_id INT PRIMARY KEY,
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE,
hire_date DATE NOT NULL,
job_title VARCHAR(100)
);
4. FOREIGN KEY约束
FOREIGN KEY约束用于在两个表之间创建链接。它需要在一个表中定义约束并引用另一个表中的列。这通常用于确保两个表之间的一致性和完整性。在创建表结构时,可以在列名后面加上FOREIGN KEY关键字:
CREATE TABLE orders (
order_id INT PRIMARY KEY,
customer_id INT,
order_date DATE NOT NULL,
total_price DECIMAL(10,2) NOT NULL,
FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);
在此示例中,orders表的customer_id列与customers表中的customer_id列相匹配。这样,尝试将orders表的customer_id列插入不存在于customers表中的值会触发一个错误。
5. CHECK约束
CHECK约束用于确保某一列中的数据值符合指定的条件。在创建表结构时,可以在列名后面加上CHECK约束的规则:
CREATE TABLE employees (
employee_id INT PRIMARY KEY,
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE,
hire_date DATE NOT NULL,
job_title VARCHAR(100),
salary DECIMAL(10,2) CHECK(salary > 0)
);
在此示例中,salary列必须大于0,否则抛出一个错误。
总之,以上是MySQL中的一些常用的列级约束及其应用方法。通过这些约束,可以有效地确保数据的完整性和一致性,避免数据不正确或不完整的风险。
上一篇
db2怎么设置mysql
下一篇
mysql怎么找重复记录
https/SSL证书广告优选IDC>>
推荐主题模板更多>>
推荐文章