默认值约束就是在不指定值的时候使用提前设定好的值。零填充约束只是为了对齐,值的位数不长时在前面补0,了解即可。

默认约束

关键字:default

语法:

方式1: <字段名> <数据类型> default <默认值>;
方式2: alter table 表名 modify 列名 类型 default 默认值; 

示例:

use mydb1;

-- 方式一: 创建表的时候指定默认值
   -- <字段名> <数据类型> default <默认值>;
create table t_user10 ( 
  id int , 
  name varchar(20) , 
  address varchar(20) default '北京' -- 指定默认约束 
);

## 输入的数据里面,没有地址,但是会默认给出地址为'北京'
insert into t_user10(id,name) values(1001,'张三')

## 要是给定值,就不会使用默认值
insert into t_user10(id,name,address) values(1002,'张司','上海')



-- 方式二:创建表之后指定
   -- alter table 表名 modify 列名 类型 default 默认值; 
create table t_user11 ( 
  id int , 
  name varchar(20) , 
  address varchar(20)  
);
alter table t_user11 modify address varchar(20) default  '北京';

运行结果

删除默认约束:

把后面的默认值改为null即可

-- alter table <表名> modify column <字段名> <类型> default null; 

alter table t_user11 modify column address varchar(20) default null;

零填充约束

关键字zerofill

使用较少,了解即可。

1、插入数据时,当该字段的值的长度小于定义的长度时,会在该值的前面补上相应的0
2、zerofill默认为int(10)
3、当使用zerofill 时,默认会自动加unsigned(无符号)属性,使用unsigned属性后,数值范围是原值的2倍,例如,有符号为-128~+127,无符号为0~256。

主要是为了对其,值并没有什么改变。

语法:

<字段名> <数据类型> zerofill;

示例:

use mydb1;

create table t_user12 ( 
  id int zerofill , -- 零填充约束
  name varchar(20)   
);

insert into t_user12(id,name) values(12,'张大');
insert into t_user12(id,name) values(1234,'张三');
insert into t_user12(id,name) values(678213,'张司');

运行结果

删除约束:

alter table 表名 modify <字段名> <数据类型>;

拿上面的t_user12举例:

alter table t_user12 modify id int;

声明:内容来源于B站视频《2022黑马程序员最新MySQL知识精讲+mysql实战案例_零基础mysql数据库入门到高级全套教程》,博客内容仅作学习参考使用。



博主个人公众号
版权声明 ▶ 本网站名称:陶小桃Blog
▶ 本文链接:https://www.52txr.cn/2022/mysql9.html
▶ 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行核实删除。
▶ 转载本站文章需要遵守:商业转载请联系站长,非商业转载请注明出处!!

最后修改:2022 年 06 月 05 日
如果觉得我的文章对你有用,请随意赞赏