网站建设软件 免费顾问
约束
- 约束
- 总结
约束
1、概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。
2、目的:保证数据库中数据的正确、有效性和完整性。
3、分类:
注意:约束是作用于表中字段上的,可以在创建表/修改表的时候添加约束。
create table user(id int primary key auto_increment comment '主键',name varchar(10) not null unique comment '姓名',age int check (age > 0 && age <= 120) comment '年龄',status char(1) default '1' comment '状态',gender char(1) comment '性别'
)comment '用户表';-- 插入数据
insert into user(name,age,status,gender)-- 默认约束
values ('Tom1',19,'1','男'),('Tom2',25,'0','男');
insert into user(name,age,status,gender)values (null,19,'1','男');-- 非空约束
insert into user(name,age,status,gender)values ('Tom2',19,'1','男');-- 唯一约束
insert into user(name,age,status,gender)values ('Tom4',121,'1','男');-- 检查约束
- 外键约束
概念:外键用来让两张表的数据之间建立连接,从而保证数据的一致性和完整性。
语法:
1、添加外键
CREATE TABLE 表名(
字段名 数据类型,
…
[CONSTRAINT][外键名称] FOREIGN KEY(外键字段名) REFERENCES 主表(主表列名)
);
ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY(外键字段名) REFERENCES 主表(主表列名);
2、删除外键
ALTER TABLE 表名 DROP FOREIGN KEY 外键名称;
3、删除/更新行为
ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY(外键字段) REFERENCES 主表名(主表字段名) ON UPDATE CASCADE ON DELETE CASCADE;
总结
- 非空约束:NOT NULL
- 唯一约束:UNIQUE
- 主键约束:PRIMARY KEY(自增:AUTO_INCREMENT)
- 默认约束:DEFAULT
- 检查约束:CHECK
- 外键约束:FOREIGN KEY