深入浅析MySQL中常见的6种约束类型

文 / @UTHEME

MySQL中常见的6种约束类型

在MySQL中,约束用于对数据表中的数据进行限制,从而保证数据的可靠性。常见的约束类型包括:

1. NOT NULL:确保列不能有 NULL 值。创建表时可以这样写:`CREATE TABLE user(name varchar(255) not null);`,如果试图插入一个 null 值,则会抛出异常。

2. CHECK:确保列中的值满足特定条件。比如,可以定义一个年龄字段,强制让其大于18小于80,否则将会报错。`CREATE TABLE user(age int(11) check(age>18 and age<80));`

3. UNIQUE:确保一列中的所有值都不同。比如,name 字段不能重复,可以这样写:`CREATE TABLE user(name varchar(255), unique(name));`

4. PRIMARY KEY:NOT NULL 和 UNIQUE 的组合,用于唯一标识表中的每一行。通常每个表中包含一个用于唯一标识每一行的值,这个列就被称为 PRIMARY KEY。比如,可以这样创建一个包含 id 和 age 两列的表,并将 id 作为 PRIMARY KEY:`CREATE TABLE user(id int(11), age int(11), primary key(id));`

5. FOREIGN KEY:外键约束,用于约束表中的一个字段必须是另一个表中某个字段所存在的值。比如,orders 表中的 userId 必须参考 user 表中的 id,否则无法插入。`CREATE TABLE orders(id int(11) primary key, userId int(11), foreign key(userId) references user(id));`

6. DEFAULT:如果未指定值,则为列设置默认值。比如,可以为 age 列设置默认值为 18,如下所示:`CREATE TABLE user(age int(11) default 18);`

除此之外,还有一些高级的约束类型,如索引约束和触发器约束等。

总的来说,约束在数据库设计中非常重要,能够帮助我们保证数据的正确性和一致性,建议大家要深入学习和掌握。

添加UTHEME为好友
扫码添加UTHEME微信为好友
· 分享WordPress相关技术文章,主题上新与优惠动态早知道。
· 微信端最大WordPress社群,限时免费入群。