(002)mysql支持的數(shù)據(jù)類型總結(jié)

概述

mysql支持的數(shù)據(jù)分為3部分:

  • 數(shù)值類型
  • 日期時(shí)間類型
  • 字符串類型

先扔一張大圖做總結(jié)

mysql支持?jǐn)?shù)據(jù)類型總結(jié)

數(shù)值類型

MySQL支持所有標(biāo)準(zhǔn)的SQL中的數(shù)值類型

1.整型數(shù)值

整數(shù)類型 字節(jié)數(shù) 最小值 ~ 最大值
tinyint 1 -128~127 或 0-255
smallint 2 -32768~32767 或 0~65535
mediumint 3 -8388608~8388607 或 0~1677215
int 4 -2147483648~2147483647 或 0~4294967295
bigint 8 -9223372036854775808~9223372036854775807 或 0~18446744073709551615
  • 對(duì)于整型數(shù)值挺据,mysql支持在類型名稱后面的小括號(hào)內(nèi)指定顯示寬度,例如int(5)表示當(dāng)數(shù)值寬度小于5位時(shí)候在數(shù)值前面填滿寬度刨仑,一般配合zerofill屬性使用怯邪。
  • 如果一個(gè)列指定為zerofill,則MySQL自動(dòng)為該列添加unsigned屬性呼渣。
  • 整型的auto_increment用于產(chǎn)生唯一標(biāo)識(shí)符或順序值话原。

2.浮點(diǎn)數(shù)類型

浮點(diǎn)數(shù)類型 字節(jié)數(shù) 最小值~最大值
float 4 ±1.175494351E-38 ~ ± 3.402823466E+38
double 8 ±2.2250738585072014E-308 ~ ±1.7976931348623157E+308

3.定點(diǎn)數(shù)類型

定點(diǎn)數(shù)類型 字節(jié)數(shù) 描述
dec(m,d) m+2 最大取值范圍與double相同,給定decimal的有效值取值范圍由m和d決定

4.位類型

位類型 字節(jié)數(shù) 最小值~最大值
bit(m) 1~8 bit(1) ~ bit(64)
  • 小數(shù)點(diǎn)表示(浮點(diǎn)數(shù)和定點(diǎn)數(shù))乌逐,定點(diǎn)數(shù)(dec)在MySQL內(nèi)部以字符串形式存放召调,比浮動(dòng)數(shù)更加精確膨桥,適合用來(lái)表示貨幣等精度高的數(shù)據(jù)。
  • 浮點(diǎn)數(shù)和定點(diǎn)數(shù)可以用在類型名后面加“(m,d)”來(lái)表示唠叛,其意義為一共顯示m位數(shù)字只嚣,其中d位位于小數(shù)點(diǎn)后面,m和d又稱為精度標(biāo)度艺沼。
  • 浮點(diǎn)數(shù)不寫m,d册舞,會(huì)自動(dòng)四舍五入;定點(diǎn)數(shù)不寫m,d障般,按照默認(rèn)值dec(10,0)來(lái)操作调鲸。
  • bit 直接select看不到結(jié)果的盛杰,可以用bin()或hex()進(jìn)行讀取。
  • 在數(shù)據(jù)量較大時(shí)藐石、建議把實(shí)數(shù)類型轉(zhuǎn)為整數(shù)類型即供。原因很簡(jiǎn)單:1. 浮點(diǎn)不精確;2.定點(diǎn)計(jì)算代價(jià)昂貴于微。例如:要存放財(cái)務(wù)數(shù)據(jù)精確到萬(wàn)分之一逗嫡、則可以把所有金額乘以一百萬(wàn)、然后存在BIGINT下株依。
  • 圖片:
    數(shù)值類型

日期時(shí)間類型

時(shí)間日期類型 字節(jié)數(shù) 最小值~最大值
date 4 1000-01-01 ~ 9999-12-31
datetime 8 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59
timestamp 4 19700101080001 ~ 2038年某個(gè)時(shí)刻
time 3 -838:59:59 ~ 838:59:59
year 1 1901 ~ 2155
  • mysql中用now()寫入當(dāng)前時(shí)間驱证。

字符串類型

字符串類型 字節(jié)數(shù) 描述
char(m) m m為0 ~ 255之間的整數(shù)
varchar(m) 值長(zhǎng)度+1 m為0~65535之間的整數(shù)
tinytext 值長(zhǎng)度+2 允許長(zhǎng)度0~255字節(jié)
text 值長(zhǎng)度+2 允許長(zhǎng)度0~65535字節(jié)
mediumtext 值長(zhǎng)度+3 允許長(zhǎng)度0~167772150字節(jié)
longtext 值長(zhǎng)度+4 允許長(zhǎng)度0~4294967295字節(jié)
- - -
binary(m) m 允許0~m個(gè)字節(jié)定長(zhǎng)的字符串
varbinary(m) 值長(zhǎng)度+1 允許0~m個(gè)字節(jié)變長(zhǎng)的字符串
tinyblob 值長(zhǎng)度+1 允許長(zhǎng)度0~255字節(jié)
blob 值長(zhǎng)度+2 允許長(zhǎng)度0~65535字節(jié)
mediumblob 值長(zhǎng)度+3 允許長(zhǎng)度0~167772150字節(jié)
longblob 值長(zhǎng)度+4 允許長(zhǎng)度0~4294967295字節(jié)
- - -
enum 1或2 1255個(gè)成員需要1個(gè)字節(jié)存;25565535個(gè)成員恋腕,2個(gè)字節(jié)存
set 1/2/3/4/8 類似enum,set一次可以選取多個(gè)成員抹锄,而enum只能一個(gè)
  • char會(huì)刪除字符串尾部的空格,varchar不會(huì)荠藤。
  • binary類似于char,binary只能保存二進(jìn)制字符串伙单。
  • enum類型忽略大小寫。
  • text與blob區(qū)別:blob保存二進(jìn)制數(shù)據(jù)商源;text保存字符數(shù)據(jù)车份,有字符集谋减。
  • text和blob不能有默認(rèn)值牡彻。
  • 圖片:
    字符串

選擇合適的數(shù)據(jù)類型

  1. char是固定長(zhǎng)度,所以它的處理速度比varchar快得多出爹,但缺點(diǎn)是浪費(fèi)存儲(chǔ)空間庄吼,不能在行尾保存空格。在MySQL中严就,MyISAM建議使用固定長(zhǎng)度代替可變長(zhǎng)度列总寻;InnoDB建議使用varchar類型,因?yàn)樵贗nnoDB中梢为,內(nèi)部行存儲(chǔ)格式?jīng)]有區(qū)分固定長(zhǎng)度和可變長(zhǎng)度渐行。
  2. text與blob主要區(qū)別是text用來(lái)保存字符數(shù)據(jù)(如文章,日記等)铸董,blob用來(lái)保存二進(jìn)制數(shù)據(jù)(如照片等)祟印。blob與text在執(zhí)行了大量刪除操作時(shí)候,有性能問(wèn)題(產(chǎn)生大量的“空洞“)粟害,為提高性能建議定期optimize table 對(duì)這類表進(jìn)行碎片整理蕴忆。
  3. 定點(diǎn)與浮點(diǎn)數(shù),對(duì)于精度要求較高的地方悲幅,使用定點(diǎn)數(shù)套鹅。
  4. 日期選擇原則是根據(jù)實(shí)際需求選擇滿足應(yīng)用的最小存儲(chǔ)日期類型站蝠。

參考

1.《深入淺出MySQL數(shù)據(jù)庫(kù)開發(fā)、優(yōu)化與管理(第2版)》
2.http://www.qttc.net/201207121.html
3.http://www.cnblogs.com/aoguren/p/3202097.html(圖片來(lái)源)
4.http://blog.csdn.net/dba_waterbin/article/details/9006711(圖片來(lái)源)

最后編輯于
?著作權(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)離奇詭異拔疚,居然都是意外死亡肥隆,警方通過(guò)查閱死者的電腦和手機(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)常有香客問(wèn)我,道長(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ì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎吮成,沒(méi)想到半個(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ó)打工个粱, 沒(méi)想到剛下飛機(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)容

  • 前面講了SQL優(yōu)化以及索引的使用、設(shè)計(jì)優(yōu)化了案狠,那么接下來(lái)就到表的設(shè)計(jì)與優(yōu)化啦7!骂铁!真實(shí)地去設(shè)計(jì)優(yōu)化單表結(jié)構(gòu)以及講述...
    JackFrost_fuzhu閱讀 3,882評(píng)論 2 28
  • 計(jì)算機(jī)誕生后吹零,數(shù)據(jù)開始在計(jì)算機(jī)中存儲(chǔ)并計(jì)算,并設(shè)計(jì)出了數(shù)據(jù)庫(kù)系統(tǒng)拉庵,數(shù)據(jù)庫(kù)系統(tǒng)解決的問(wèn)題:持久化存儲(chǔ)瘪校,優(yōu)化讀寫,保證...
    LittlePy閱讀 766評(píng)論 0 0
  • Mysql 基礎(chǔ) SQL分類: DDL—數(shù)據(jù)定義語(yǔ)言(create名段,alter阱扬,drop)DML—數(shù)據(jù)操縱語(yǔ)言(s...
    零一間閱讀 5,213評(píng)論 0 10
  • 本文基于MySQL5.6版本進(jìn)行描述從大的方面來(lái)講,MySQL的數(shù)據(jù)類型分為4種 數(shù)值類型 日期和時(shí)間 字符串類型...
    黑哥兒666閱讀 746評(píng)論 0 0
  • 回顧 數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí):關(guān)系型數(shù)據(jù)庫(kù)(磁盤)和非關(guān)系型數(shù)據(jù)庫(kù)(內(nèi)存) 關(guān)系型數(shù)據(jù)庫(kù):建立在關(guān)系模型上的數(shù)據(jù)庫(kù)數(shù)據(jù)結(jié)構(gòu)...
    翊溪閱讀 527評(píng)論 0 1