学习笔记
3、非空约束(not null)
概念
MySQL非空约束(not null)指字段的值不能为空,对于使用了非空约束的字段,如果用户 在添加数据时没有指定值,数据库系统会报错。
语法
方式1:<字段名><数据类型> not null;
方式2:alter table 表名 modify 字段 类型 not null;
添加非空约束-方式1
create table t_user6(
id int;
name varchar(20) not null;
address varchar(20) not null;
);
添加非空约束-方式2
create table t_user7(
id int,
name varchar(20),
address varchar(20)
);
alter table t_user7 modify name varcher(20) not null;
alter table t_user7 modify address varchar(20) not null;
删除非空约束
alter table 表名 modify 字段 类型
alter table t_user7 modify name varchar(20);
alter table t_user7 modify address varchar(20);
4、唯一性约束(unique)
概念
唯一约束(unique key)是指所有记录中字段的指不能重复出现。列如,为id字段加上唯 一约束后,每条记录的id值都是唯一的,不能出现重复的情况
语法:
方式1:
<字段名><数据类型> unique
方式2:
alter table 表名 add constraint 约束名 unique(列);
添加唯一约束-实现方式1
创建表时指定
create table t_user8(
id int,
name varchar(20),
phone_number varchar(20) unique – 指定唯一约束
);
5、默认约束(default)
概念
MySQL默认值约束用来指定某列的默认值
语法
方式1:<字段名><数据类型> default <默认值>
方式2:alter table 表名 modify 列名 类型 default 默认值
添加默认约束-实现方式1
create table t_user10(
id int,
name varchar(20),
address varchar(20) default ‘北京’ -- 指定默认约束
);
6、零填充约束(zerofill)
概念
1、插入数据时,当该字段的值的长度小于定义的长度时,会在该值的前面补上相应的0.
2、zerofill默认为int(10).
3、当使用zerofill时,默认会自动加unsigned(无符号)属性,使用unsigned属性后,数 值范围是原值的2倍,例如,有符号为-128~+127,无符号为0~256.
操作:
create table t_user12(
id int zerofill, -- 零填充约束
name varchar(20)
);
删除
alter table t_user12 modify id int;
- 外键约束(foreign key)FK