约束

MySQL约束是一种强制性的规则,它用于维护数据库的完整性 。这些约束保证了数据的准确性、一致性和可靠性。常用的几种约束及其作用如下

1.主键约束(PRIMARY KEY)

主键约束用于标识表中的每一行记录。每个表都只能有一个主键,且主键的值必须是唯一的,且不能为空。当你在创建表时,你可以通过PRIMARY KEY关键字来声明一个列作为主键。

例如:

1
2
3
4
CREATA TABLE users(
id INT PRIMARY LEY,
username VARCHAR(255)
);

在这个例子中,id列被设置为PRIMARY KEY,这意味着它是主键,其值必须是唯一的,且不能为空。

2.非空主键(NOT NULL)

非空约束确保了列中的每个值都不能为空。当你在创建表时,你可以通过NOT NULL关键字来声明一个列作为非空列。

例如:

1
2
3
4
5
CREATE TABLE users(
id INT PRIMARY KEY,
username VARCHAR(255)
NOT NULL
);

在这个例子中,username列被设置为NOT NULL,这意味着它的值不能为空。

3.唯一约束(UNIQUE)

唯一约束确保了一个列或列组合中的每个值都是唯一的。这意味着在一个表中,这个列或列组合的值不能重复。当你在创建表时,你可以通过UNIQUE关键字来声明一个列或列组合作为唯一列。

例如:

1
2
3
4
5
6
CREATE TABLE users(
id INT PRIMARY KEY,
username VARCHAR(255)
UNIQUE,
email VARCHAR(255)
);

在这个例子中,username列被设置为UNIQUE,这意味着它在表中必须是唯一的。而email列没有被设置为UNIQUE,所以它的值可以在表中重复。

4.外键约束(FOREIGN KEY)

外键约束用于维持两个表之间的关联性。当你在创建表时,你可以通过FOREIGN KEY关键字来声明一个列作为外键。

例如:

1
2
3
4
CREATE TABLE orders(
order_id INT PRIMARY KEY,
product_id INT FOREIGN KEY REFERENCES products(product_id)
);

在这个例子中,product_id列被设置为FOREIGN KEY,这意味着它的值必须存在于products表的product_id列中。如果product_id列的某个值不存在于products表的product_id列中用,那么MySQL将会抛出一个错误。