MySQL約束之默認約束default與零填充約束zerofill

默認約束

MySQL 默認值約束用來指定某列的默認值。

添加默認約束

  • 方式1: <字段名> <數據> default <默認>;
  • 方式2: alter table 表名 modify 列名 型 default 默認;
create table t_user10 (
id int ,
name varchar(20) ,
address varchar(20) default ‘北京' -- 指定默認約束
);
-- 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 ‘北京';

刪除默認約束

-- alter table <表名> modify column <字段名> <類型> default null;
alter table t_user11 modify column address varchar(20) default null;

零填充約束

1、插入數據時,當該字段的值的長度小於定義的長度時,會在該值的前面補上相應的0
2、zerofill默認為int(10)
3、當使用zerofill 時,默認會自動加unsigned(無符號)屬性,使用unsigned屬性後,數值范圍是原值的2倍,例如,有符號為-128~+127,無符號為0~256。

比如:現在設置某個字段的長度為5,那麼真實數據是1,那麼顯示在你的數據庫的是00001;

create table t_user12 (
id int zerofill , -- 零填充約束
name varchar(20)
);
alter table t_user12 modify id int;
-- 1. 添加約束
create table t_user12 (
id int zerofill , -- 零填充約束
name varchar(20)
);
insert into t_user12 values(123, '張三');
insert into t_user12 values(1, '李四');
insert into t_user12 values(2, '王五');

 總結

前面我們學習瞭很多的約束,這裡這一個大致的總結,我們需要根據自己的應用場景去設置這些約束,最終才可以達到我們的日常需求:

-- 總結
-- 1:通過修改表結構添加主鍵約束

create table emp4(
eid int primary key,
name varchar(20),
deptId int,
salary double
);
-- 2:添加自增正約束
create table t_user1 (
id int primary key auto_increment,
name varchar(20)
);
-- 3:創建非空約束
create table mydb1.t_user6 (
id int ,
name varchar(20) not null, -- 指定非空約束
address varchar(20) not null -- 指定非空約束
);
-- 4:創建唯一約束
create table t_user8 (
id int ,
name varchar(20) ,
phone_number varchar(20) unique -- 指定唯一約束
);
-- 5:創建默認約束
create table t_user10 (
id int ,
name varchar(20) ,
address varchar(20) default '北京' -- 指定默認約束
);

到此這篇關於MySQL約束之默認約束default與零填充約束zerofill的文章就介紹到這瞭,更多相關MySQL約束 內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: