MySQL約束之默認約束default與零填充約束zerofill
默認約束
MySQL 默認值約束用來指定某列的默認值。
添加默認約束
- 方式1: <字段名> <數(shù)據(jù)類型> 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、插入數(shù)據(jù)時,當該字段的值的長度小于定義的長度時,會在該值的前面補上相應(yīng)的0
2、zerofill默認為int(10)
3、當使用zerofill 時,默認會自動加unsigned(無符號)屬性,使用unsigned屬性后,數(shù)值范圍是原值的2倍,例如,有符號為-128~+127,無符號為0~256。
比如:現(xiàn)在設(shè)置某個字段的長度為5,那么真實數(shù)據(jù)是1,那么顯示在你的數(shù)據(jù)庫的是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, '王五');

總結(jié)
前面我們學習了很多的約束,這里這一個大致的總結(jié),我們需要根據(jù)自己的應(yīng)用場景去設(shè)置這些約束,最終才可以達到我們的日常需求:
-- 總結(jié) -- 1:通過修改表結(jié)構(gòu)添加主鍵約束 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:創(chuàng)建非空約束 create table mydb1.t_user6 ( id int , name varchar(20) not null, -- 指定非空約束 address varchar(20) not null -- 指定非空約束 ); -- 4:創(chuàng)建唯一約束 create table t_user8 ( id int , name varchar(20) , phone_number varchar(20) unique -- 指定唯一約束 ); -- 5:創(chuàng)建默認約束 create table t_user10 ( id int , name varchar(20) , address varchar(20) default '北京' -- 指定默認約束 );
到此這篇關(guān)于MySQL約束之默認約束default與零填充約束zerofill的文章就介紹到這了,更多相關(guān)MySQL約束 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用mss2sql工具將SqlServer轉(zhuǎn)換為Mysql全記錄
上篇文章我們講訴了在mssql數(shù)據(jù)轉(zhuǎn)換成mysql數(shù)據(jù)中,用Navicat Premium導(dǎo)入數(shù)據(jù)很完美,但是創(chuàng)建表的時候數(shù)據(jù)類型轉(zhuǎn)換不是很完美,本文我們來講訴下用mss2sql工具來創(chuàng)建表,順便說下導(dǎo)入數(shù)據(jù)2014-08-08
將mysql腳本轉(zhuǎn)化為oracle腳本的攻略與細節(jié)點
前段時間公司項目數(shù)據(jù)庫需要從mysql轉(zhuǎn)為oracle,所以需要修改下原有的mysql腳本,這篇文章主要給大家介紹了關(guān)于將mysql腳本轉(zhuǎn)化為oracle腳本的攻略與細節(jié)點,需要的朋友可以參考下2023-09-09
window系統(tǒng)mysql無法輸入和無法顯示中文的解決方法
這篇文章主要介紹了window系統(tǒng)mysql無法輸入和無法顯示中文的解決方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2018-06-06
圖文詳解Mysql使用left?join寫查詢語句執(zhí)行很慢問題的解決
最近工作中遇到一個非常奇怪的問題,mysql中有兩張表,test_info和test_do_info需要進行LEFT?JOIN關(guān)聯(lián)查詢,下面這篇文章主要給大家介紹了關(guān)于Mysql使用left?join寫查詢語句執(zhí)行很慢問題的解決方法2023-04-04
Mysql?InnoDB引擎中的數(shù)據(jù)頁結(jié)構(gòu)詳解
這篇文章主要為大家介紹了Mysql?InnoDB引擎中的數(shù)據(jù)頁結(jié)構(gòu)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05

