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!
推薦閱讀:
- SQL語法CONSTRAINT約束操作詳情
- MySQL 5.7常見數據類型
- 淺談Mysql tinyint(1)與tinyint(4)的區別
- Python全棧之學習MySQL(1)
- MySQL外鍵關聯操作的實現