MySQL 支持的數(shù)據(jù)類型

數(shù)值類型

整數(shù)類型 字節(jié) 最小值 最大值
tinyint 1 有符號(hào) -128 (-27)
無(wú)符號(hào) 0
有符號(hào) 127 (27-1)
無(wú)符號(hào) 255 (28-1)
smallint 2 有符號(hào) -32768 (-215)
無(wú)符號(hào) 0
有符號(hào) 32767 (215-1)
無(wú)符號(hào) 65535 (216-1)
mediumint 3 有符號(hào) (-223)
無(wú)符號(hào) 0
有符號(hào) (223-1)
無(wú)符號(hào) (224-1)
int
integer
4 有符號(hào) (-231)
無(wú)符號(hào) 0
有符號(hào) (231-1)
無(wú)符號(hào) (232-1)
bigint 8 有符號(hào) (-263)
無(wú)符號(hào) 0
有符號(hào) (263-1)
無(wú)符號(hào) (264-1)
浮點(diǎn)數(shù)類型 字節(jié) 最小值 最大值
float 4 ±1.175494351E-38 ±3.402823466E+38
double 8 ±2.2250738585072014E-308 ±1.797693134862315i7E+308
定點(diǎn)數(shù)類型 字節(jié) 描述
dec(m,d)
decimal(m,d)
m + 2 最大取值范圍與 double 相同种蘸,給定 decimal 的有效取值范圍由 m 和 d 決定
位類型 字節(jié) 最小值 最大值
bit(m) 1 ~ 8 bit(1) bit(64)
  1. 對(duì)于整型數(shù)據(jù),MySQL 支持在類型名稱后面的小括號(hào)內(nèi)指定顯示寬度媚创,例如 int(5)表示當(dāng)數(shù)值寬度小于 5 位的時(shí)候在數(shù)字前面填滿寬度渗钉,如果不顯示指定寬度則默認(rèn)為 int(11)
    一般配合 zerofill 使用钞钙,顧名思義鳄橘,zerofill 就是用 “0” 填充的意思,也就是在數(shù)字位數(shù)不夠的空間用字符 “0” 填滿

    create table tn (cn int zerofill)
    
  2. 所有的整數(shù)類型都有一個(gè)可選屬性 UNSIGNED(無(wú)符號(hào))芒炼,如果需要在字段里面保存非負(fù)數(shù)或者需要較大的上限值時(shí)瘫怜,可以用此選項(xiàng),它的取值范圍是正常值的下限取 0本刽,上限取原值的 2 倍鲸湃。如果一個(gè)列指定為 zerofill,則 MySQL 自動(dòng)為該列添加 UNSIGNED 屬性

  3. 整數(shù)類型還有一個(gè)屬性:AUTO_INCREMENT子寓。在需要產(chǎn)生唯一標(biāo)識(shí)符或順序值時(shí)暗挑,可利用此屬性,這個(gè)屬性只用于整數(shù)類型别瞭。AUTO_INCREMENT 值一般從 1 開始窿祥,每行增加 1。在插入 NULL 到一個(gè) AUTO_INCREMENT 列時(shí)蝙寨,MySQL 插入一個(gè)比該列中當(dāng)前最大值大 1 的值晒衩。一個(gè)表中最多只能有一個(gè) AUTO_INCREMENT 列。對(duì)于任何想要使用 AUTO_INCREMENT 的列墙歪,應(yīng)該定義為 NOT NULL听系,并定義為 PRIMARY KEY 或定義為 UNIQUE

    create table tn (cn int auto_increment not null primary key)
    
  4. 對(duì)于小數(shù)的表示,MySQL 分為兩種方式:浮點(diǎn)數(shù)和定點(diǎn)數(shù)虹菲。定點(diǎn)數(shù)在 MySQL 內(nèi)部以字符串形式存放靠胜,比浮點(diǎn)數(shù)更精確,適合用來(lái)表示貨幣等精度高的數(shù)據(jù)浮點(diǎn)數(shù)和定點(diǎn)數(shù)都可以用類型名稱后加 “( M, D)” 的方式來(lái)進(jìn)行表示毕源,“( M, D)” 表示該值一共顯示 M 位數(shù)字(整數(shù)位+小數(shù)位)浪漠,其中 D 位位于小數(shù)點(diǎn)后面, M 和 D 又稱為精度和標(biāo)度霎褐。float 和 double 在不指定精度時(shí)址愿,默認(rèn)會(huì)按照實(shí)際的精度(由實(shí)際的硬件和操作系統(tǒng)決定)來(lái)顯示,而 decimal 在不指定精度時(shí)冻璃,默認(rèn)的整數(shù)位為 10响谓,默認(rèn)的小數(shù)位為 0

    alter table tn add cn float(5,2)
    
  5. 對(duì)于 BIT(位) 類型损合,用于存放位字段值,BIT(M) 可以用來(lái)存放多位二進(jìn)制數(shù)娘纷,M 范圍從 1~64嫁审,如果不寫則默認(rèn)為 1 位。對(duì)于位字段赖晶,直接使用 SELECT 命令將不會(huì)看到結(jié)果律适,可以用bin()(顯示為二進(jìn)制格式)或者 hex()(顯示為十六進(jìn)制格式)函數(shù)進(jìn)行讀取。數(shù)據(jù)插入 bit 類型字段時(shí)嬉探,首先轉(zhuǎn)換為二進(jìn)制擦耀,如果位數(shù)允許,將成功插入涩堤;如果位數(shù)小于實(shí)際定義的位數(shù)眷蜓,則插入失敗

    alter table tn add cn bit(2)
    insert into tn (cn) values(1)
    select bin(cn) from tn
    

日期時(shí)間類型

類型 字節(jié) 范圍 格式 用途
DATE 3 1000-01-01 ~ 9999-12-31 YYYY-MM-DD 日期值
TIME 3 -838:59:59 ~ 838:59:59 HH:MM:SS 時(shí)間值
YEAR 1 1901 ~ 2155 YYYY 年份值
DATETIME 8 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 混合日期和時(shí)間值
TIMESTAMP 4 19700101080001~ 2038 年某時(shí) YYYYMMDD HHMMSS 混合日期和時(shí)間值,時(shí)間戳
  1. now() 函數(shù)插入當(dāng)前日期:insert into tablename values(now())
  2. 第一個(gè) timestamp 會(huì)被系統(tǒng)自動(dòng)創(chuàng)建默認(rèn)值 current_timestamp
  3. timestamp 還有一個(gè)重要特點(diǎn)胎围,就是和時(shí)區(qū)相關(guān)吁系。當(dāng)插入日期時(shí),會(huì)先轉(zhuǎn)換為本地時(shí)區(qū)后存放白魂;而從數(shù)據(jù)庫(kù)里面取出時(shí)汽纤,也同樣需要將日期轉(zhuǎn)換為本地時(shí)區(qū)后顯示

字符串類型

類型 字節(jié) 用途
CHAR(M) M 為 0 - 255 固定長(zhǎng)度的字符串
VARCHAR(M) M 為 0 - 65535 可變長(zhǎng)度的字符串
TINYBLOB 0 - 255 不超過 255 個(gè)字符的二進(jìn)制字符串
BLOB 0 - 65535 二進(jìn)制形式的長(zhǎng)文本數(shù)據(jù)
MEDIUMBLOB 0 - 167772150 二進(jìn)制形式的中等長(zhǎng)度文本數(shù)據(jù)
LONGBLOB 0 - 4294967295 二進(jìn)制形式的極大文本數(shù)據(jù)
TINYTEXT 0 - 255 短文本字符串
TEXT 0 - 65535 長(zhǎng)文本數(shù)據(jù)
MEDIUMTEXT 0 - 167772150 中等長(zhǎng)度文本數(shù)據(jù)
LONGTEXT 0 - 4294967295 極大文本數(shù)據(jù)
VARBINARY(M) 0 - M 可變的二進(jìn)制字符串
BINARY(M) 0 - M 二進(jìn)制字符串
ENUM
SET
  1. 在檢索的時(shí)候,CHAR 刪除了尾部的空格福荸,而 VARCHAR 則保留這些空格

  2. 保存 BINARY 值時(shí)蕴坪,在值的最后通過填充 “0x00”(零字節(jié))以達(dá)到指定的字段定義長(zhǎng)度

  3. ENUM 中文名稱叫枚舉類型,它的值范圍需要在創(chuàng)建表時(shí)通過枚舉方式顯式指定敬锐,對(duì) 1~255 個(gè)成員的枚舉需要 1 個(gè)字節(jié)存儲(chǔ)背传;對(duì)于 255~65535 個(gè)成員,需要 2 個(gè)字節(jié)存儲(chǔ)台夺。最多允許有 65535 個(gè)成員径玖。忽略大小寫。只允許從值集合中選取單個(gè)值颤介,而不能一次取多個(gè)值

     create table tn (n1 enum('A','B','C'));
     insert into tn values('a'),('B'),('C'),('D');// a 會(huì)被轉(zhuǎn)換成 A梳星,D 轉(zhuǎn)換為空字符串
    
  4. Set 和 ENUM 類型非常類似,也是一個(gè)字符串對(duì)象滚朵,里面可以包含 0~64 個(gè)成員冤灾。根據(jù)成員的不同,存儲(chǔ)上也有所不同辕近。Set 和 ENUM 除了存儲(chǔ)之外韵吨,最主要的區(qū)別在于 Set 類型一次可以選取多個(gè)成員,而 ENUM 則只能選一個(gè)亏推。區(qū)分大小寫

    1~8 成員的集合学赛,占 1 個(gè)字節(jié)

    9~16 成員的集合,占 2 個(gè)字節(jié)

    17~24 成員的集合吞杭,占 3 個(gè)字節(jié)

    25~32 成員的集合盏浇,占 4 個(gè)字節(jié)

    33~64 成員的集合,占 8 個(gè)字節(jié)

     create table tn (n1 set('A','B','C'));
     insert into tn values('A,B'),('A,C,A');// 重復(fù)成員的集合只取一次
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末芽狗,一起剝皮案震驚了整個(gè)濱河市绢掰,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌童擎,老刑警劉巖滴劲,帶你破解...
    沈念sama閱讀 216,744評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異顾复,居然都是意外死亡班挖,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,505評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門芯砸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)萧芙,“玉大人,你說(shuō)我怎么就攤上這事假丧∷荆” “怎么了?”我有些...
    開封第一講書人閱讀 163,105評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵包帚,是天一觀的道長(zhǎng)渔期。 經(jīng)常有香客問我,道長(zhǎng)渴邦,這世上最難降的妖魔是什么疯趟? 我笑而不...
    開封第一講書人閱讀 58,242評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮几莽,結(jié)果婚禮上迅办,老公的妹妹穿的比我還像新娘。我一直安慰自己章蚣,他們只是感情好站欺,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,269評(píng)論 6 389
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著纤垂,像睡著了一般矾策。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上峭沦,一...
    開封第一講書人閱讀 51,215評(píng)論 1 299
  • 那天贾虽,我揣著相機(jī)與錄音,去河邊找鬼吼鱼。 笑死蓬豁,一個(gè)胖子當(dāng)著我的面吹牛绰咽,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播地粪,決...
    沈念sama閱讀 40,096評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼取募,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了蟆技?” 一聲冷哼從身側(cè)響起玩敏,我...
    開封第一講書人閱讀 38,939評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎质礼,沒想到半個(gè)月后旺聚,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,354評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡眶蕉,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,573評(píng)論 2 333
  • 正文 我和宋清朗相戀三年砰粹,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片妻坝。...
    茶點(diǎn)故事閱讀 39,745評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡伸眶,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出刽宪,到底是詐尸還是另有隱情厘贼,我是刑警寧澤,帶...
    沈念sama閱讀 35,448評(píng)論 5 344
  • 正文 年R本政府宣布圣拄,位于F島的核電站嘴秸,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏庇谆。R本人自食惡果不足惜岳掐,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,048評(píng)論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望饭耳。 院中可真熱鬧串述,春花似錦、人聲如沸寞肖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,683評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)新蟆。三九已至觅赊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間琼稻,已是汗流浹背吮螺。 一陣腳步聲響...
    開封第一講書人閱讀 32,838評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人鸠补。 一個(gè)月前我還...
    沈念sama閱讀 47,776評(píng)論 2 369
  • 正文 我出身青樓萝风,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親紫岩。 傳聞我的和親對(duì)象是個(gè)殘疾皇子闹丐,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,652評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容