mysql怎么约束列
时间 : 2023-08-05 16:09:02声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

在MySQL中,我们可以使用列级约束来限制特定列中的数据。有以下几种约束方式:

1. 主键约束(PRIMARY KEY):用于唯一标识表中的每一行数据。主键列的值不能为空,并且每个值必须是唯一的。可以在创建表时单独指定主键,也可以在表创建后通过修改表结构来添加主键约束。

例如,创建一个表并定义一个主键列:

CREATE TABLE student (

id INT PRIMARY KEY,

name VARCHAR(50),

age INT

);

2. 唯一约束(UNIQUE):用于确保特定列中的值是唯一的,但允许为空值。唯一约束可以在创建表时单独指定,也可以在表创建后通过修改表结构来添加唯一约束。

例如,在创建一个表时为name列添加唯一约束:

CREATE TABLE student (

id INT PRIMARY KEY,

name VARCHAR(50) UNIQUE,

age INT

);

3. 非空约束(NOT NULL):用于确保列中的值不为空。非空约束可以在创建表时指定,也可以在表创建后通过修改表结构来添加非空约束。

例如,在创建一个表时指定age列不能为空:

CREATE TABLE student (

id INT PRIMARY KEY,

name VARCHAR(50),

age INT NOT NULL

);

4. 外键约束(FOREIGN KEY):用于确保两个表之间的关系完整性。外键约束要求一个表中的列值必须存在于另一个表的主键列中。外键约束必须在创建表时指定。

例如,创建两个表student和course,其中student表的course_id列是course表的id列的外键:

CREATE TABLE course (

id INT PRIMARY KEY,

name VARCHAR(50)

);

CREATE TABLE student (

id INT PRIMARY KEY,

name VARCHAR(50),

course_id INT,

FOREIGN KEY (course_id) REFERENCES course(id)

);

这些是MySQL中常见的列级约束,通过使用这些约束可以确保数据的完整性和一致性。