MySQL約束之預設約束default與零填充約束zerofill怎麼實現

WBOY
發布: 2023-05-31 17:10:06
轉載
1351 人瀏覽過

預設約束

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, &#39;张三&#39;);
insert into t_user12 values(1, &#39;李四&#39;);
insert into t_user12 values(2, &#39;王五&#39;);
登入後複製

MySQL約束之預設約束default與零填充約束zerofill怎麼實現

# 總結

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

-- 总结
-- 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 &#39;北京&#39; -- 指定默认约束
);
登入後複製

以上是MySQL約束之預設約束default與零填充約束zerofill怎麼實現的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板