主键约束确保每行数据唯一且非空,外键约束维护表间关联和数据一致性,唯一约束防止重复值,非空约束禁止NULL值,默认值约束设定字段默认内容。

在 MySQL 中,约束条件用于确保数据的完整性和一致性。通过定义约束,可以限制表中数据的取值范围或行为方式。常见的约束类型包括:主键约束、外键约束、唯一约束、非空约束和默认值约束等。
主键用于唯一标识表中的每一行数据,不允许重复且不能为 NULL。
示例:CREATE TABLE users (
id INT PRIMARY KEY,
name VARCHAR(50)
);
也可以在表创建后添加主键:
ALTER TABLE users ADD PRIMARY KEY (id);
外键用于建立两个表之间的关联,确保一个表中的字段值必须在另一个表的主键中存在。
示例:CREATE TABLE orders (
order_id INT PRIMARY KEY,
user_id INT,
FOREIGN KEY (user_id) REFERENCES users(id)
);
也可使用 ALTER 添加外键:
ALTER TABLE orders ADD CONSTRAINT fk_user FOREIGN KEY (user_id) REFERENCES users(id);
确保某列或多个列的组合值在整个表中是唯一的,允许一个 NULL 值(视存储引擎而定)。
示例:CREATE TABLE users (
email VARCHAR(100) UNIQUE
);
添加唯一约束:
ALTER TABLE users ADD UNIQUE (email);
限制字段值不能为 NULL,常用于必填字段。
示例:CREATE TABLE users (
name VARCHAR(50) NOT NULL
);
修改字段为非空:
ALTER TABLE users MODIFY name VARCHAR(50) NOT NULL;
为字段设置默认值,当插入数据时未指定该字段值,则自动使用默认值。
示例:CREATE TABLE users (
status VARCHAR(10) DEFAULT 'active'
);
添加默认值:
ALTER TABLE users ALTER COLUMN status SET DEFAULT 'inactive';
基本上就这些。合理使用约束能有效防止脏数据进入数据库,提升应用稳定性。定义时注意命名规范和索引影响,尤其是外键会自动创建索引。
以上就是mysql如何定义约束条件的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号