文章插图
摘要:一篇文章带你彻底了解MySQL各种约束 。MySQL约束<1> 概念
是一种限制,它是对表的行和列的数据做出约束,确保表中数据的完整性和唯一性 。
<2> 使用场景
创建表的时候,添加约束
<3> 分类
- default: 默认约束, 域完整性
- not null: 非空约束,域完整性
- unique: 唯一约束,实体完整性
- primary key: 主键约束,实体完整性
- foreign key: 外键约束,参照完整性
- check: 检查约束(MySQL不支持),域完整性
- auto_increment: 自增长约束
- unsigned: 无符号约束
- zerofill: 零填充约束
- 域(列)完整性:
- 实体完整性在MySQL中实现:
- 参照完整性:
1. default
- 概念
- 添加
create table t1(
id int default 1,
name varchar(20) default ‘老王’
);
o 通过alter语句添加: alter … modify/change …
alter table t1 modify id intdefault 2;
alter table t1 change namename varchar(20) default ‘若尘’;
- 删除
o alter table t1 modify id int;
o alter table t1 change namename varchar(20);
2. not null
- 概念
- 添加
create table t2(
id int not null,
name varchar(20) not null
);
o 通过alter语句添加: alter … modify/change …
alter table t2 modify id intnot null;
alter table t2 change namename varchar(20) not null;
- 删除
o alter table t2 modify id int;
o alter table t2 change namename varchar(20);
3. unique
- 概念
o 不能出现重复的值,但是可以有多个null
o 同一张表可以有多个唯一的约束
- 添加唯一约束
create table t3(
id int unique,
name varchar(20) not null
);
insertt3 value (1, ‘老王’);
insert t3 value (1, ‘老李’); – id唯一约束,添加异常
create table t3(
id int,
name varchar(20) not null,
constraint id_unique unique(id, name)– 添加复合约束
);
insertt3 value (1, ‘老王’);
insert t3 value (1, ‘老李’);
select * from t3;
insert t3 value (1, ‘老王’);
o 通过alter语句添加: alter … modify/change … / alter … addunique
alter table t3 modify id intunique;
alter table t3 addunique(name);
alter table t3 add constraintun_id unique(id);
3. 删除唯一约束
- alter … drop … index 名称
- drop index on 表名
- alter table t3 drop index id_unique;
- 注意:如果删除的唯一约束列具有自增长约束,则必须先删除自增长约束,再去删除唯一约束
- 概念
o 相当于:唯一约束+非空约束
- 添加主键约束
以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!
「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助:- irr公式excel的用法 irr公式excel怎么用
- 天干相生相克的作用关系
- 社交app用户需求分析 app需求分析模板
- 计算机rank函数操作方法 rank函数怎么用
- 阿里云ssh使用教程 阿里云ssh怎么连接
- 二学历考研有用吗
- 在职考研也要用学信网吗
- 物联网应用了解 物联网有哪些应用
- mysql安装教程分享 mysql的安装包在哪个文件
- 产业发展理论及应用 产业发展理论有哪些