【MySQL】MySQL表的约束-空属性/默认值/列属性/zerofill/主键/自增长/唯一键/外键
在MySQL中,表的约束主要包括空属性、默认值、列属性(zerofill、主键、自增、唯一键、外键)。
- 空属性:指定列是否可以存储NULL值。
CREATE TABLE example (
id INT NOT NULL,
name VARCHAR(50) NOT NULL
);
- 默认值:如果插入行时没有为列指定值,MySQL将自动为列赋予默认值。
CREATE TABLE example (
id INT NOT NULL,
name VARCHAR(50) NOT NULL,
age INT DEFAULT 18
);
- zerofill:当列数据类型为数值时,如果设置了zerofill,MySQL将在数值前填充零。
CREATE TABLE example (
id INT(3) ZEROFILL
);
- 主键:唯一标识表中每行的数据,不能有重复值,不能为NULL。
CREATE TABLE example (
id INT NOT NULL,
name VARCHAR(50) NOT NULL,
PRIMARY KEY (id)
);
- 自增:当插入新行时,自增属性的列值会自动增加。
CREATE TABLE example (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
PRIMARY KEY (id)
);
- 唯一键:保证列中的所有值都是唯一的。
CREATE TABLE example (
id INT NOT NULL,
name VARCHAR(50) NOT NULL,
UNIQUE KEY unique_name (name)
);
- 外键:用于在两个表之间创建关系,确保一个表中的数据与另一个表中的数据相关联。
CREATE TABLE orders (
order_id INT NOT NULL,
product_id INT NOT NULL,
PRIMARY KEY (order_id),
CONSTRAINT fk_product
FOREIGN KEY (product_id)
REFERENCES products(product_id)
);
以上是创建表时定义约束的方式,也可以在表创建后使用ALTER TABLE语句添加或修改约束。
评论已关闭