首頁 > 軟體

MySQL約束之預設約束default與零填充約束zerofill

2022-07-07 18:05:51

預設約束

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約束 內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com