Mysql 字節(jié)

不論是在工作,還是在面試中,都有可能面對建表/面試 對字段類型選擇的考慮
tinyint 1字節(jié) 有符號范圍-128到127,無符號范圍0到255

smallint 2字節(jié) 有符號范圍-32768到32767,無符號范圍0到65535

mediumint 3字節(jié) 有符號范圍-8388608到8388607,無符號范圍0到16777215

int 4字節(jié) 有符號范圍-2147483648到2147483647,無符號范圍0到4294967295

integer 4字節(jié) 同int

bigint 8字節(jié) 有符號范圍-9223372036854775808到9223372036854775807,無符號的范圍0到18446744073709551615

float 4字節(jié) 如果 X < = 24 或 8 如果 25 < = X < = 53 范圍-3.402823466E+38到-1.175494351E-38,0 和 1.175494351E-38到3.402823466E+38。M是顯示寬度而D是小數(shù)的位數(shù) 不支持無符號

double 8字節(jié) -1.7976931348623157E+308到-2.2250738585072014E-308、 0和2.2250738585072014E-308到1.7976931348623157E+308 不支持無符號

double precision 8字節(jié) 同double

decimal (D,M)每一位使用一個字符。M字節(jié)(D+2 , 如果M < D)

numeric 同decimal

date 3字節(jié) 支持范圍'1000-01-01'到'9999-12-31'。
MySQL以'YYYY-MM-DD'格式來顯示DATE值,但是允許你使用字符串或數(shù)字把值賦給DATE列。

datetime 8字節(jié) 支持范圍'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。
MySQL以'YYYY-MM-DD HH:MM:SS'格式來顯示DATETIME值,但是允許你使用字符串或數(shù)字把值賦給DATETIME的列。

timestamp 4字節(jié) 范圍'1970-01-01 00:00:00'到2037年某時。
一個TIMESTAMP列對于記錄一個INSERT或UPDATE操作的日期和時間是有用的,你以可以通過賦給它一個NULL值設(shè)置它為當前的日期和時間。

time 3字節(jié) 范圍'-838:59:59'到'838:59:59'。
MySQL以'HH:MM:SS'格式來顯示TIME值,但是允許你使用字符串或數(shù)字把值賦給TIME列。

year 1字節(jié) 一個2或4位數(shù)字格式的年(缺省是4位)。允許的值是1901到2155,和0000(4位年格式),如果你使用2位,1970-2069( 70-69)。
MySQL以YYYY格式來顯示YEAR值,但是允許你把使用字符串或數(shù)字值賦給YEAR列。(YEAR類型在MySQL3.22中是新類型。)

char 1<=M<=255 字節(jié) 一個定長字符串,當存儲時,總是是用空格填滿右邊到指定的長度。
M的范圍是 1——255 個字符。
當值被檢索時,空格尾部被刪除。CHAR值根據(jù)缺省字符集以大小寫不區(qū)分的方式排序和比較,除非給出BINARY關(guān)鍵詞。
NATIONAL CHAR(短形式NCHAR)是ANSI SQL的方式來定義CHAR列應(yīng)該使用缺省字符集。這是MySQL的缺省。CHAR是CHARACTER的一個縮寫。

varchar L+1 字節(jié), L <= M和1 <= M <= 255 一個變長字符串。
當值被存儲時,尾部的空格被刪除(這不同于ANSI SQL規(guī)范)。
M的范圍是 1——65532 個字符,1個或2個字節(jié)用來保存字符串長度。
VARCHAR值根據(jù)缺省字符集以大小寫不區(qū)分的方式排序和比較,除非給出BINARY關(guān)鍵詞值。
見7.7.1 隱式列指定變化。VARCHAR是CHARACTER VARYING一個縮寫。

tinyblob, tinytext L+1字節(jié),L < 2^8

blob, text 一個BLOB或TEXT列,最大長度為65535(2^16-1)個字符

mediumblob,mediumtext 最大長度為16777215(2^24-1)個字符

longblob,longtext 最大長度為4294967295(2^32-1)個字符

enum 枚舉 1/2字節(jié) 取決于枚舉的數(shù)目 一個ENUM最多能有65535不同的值

set 占用字節(jié)數(shù),取決于成員數(shù)量 1 2 3 /8 字節(jié) 最多支持64個成員

字段應(yīng)用場景
text不能存儲二進制流數(shù)據(jù)
blob可以存儲 這是與text的區(qū)別

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 本文基于MySQL5.6版本進行描述從大的方面來講,MySQL的數(shù)據(jù)類型分為4種 數(shù)值類型 日期和時間 字符串類型...
    黑哥兒666閱讀 810評論 0 0
  • 1、MySQL 數(shù)據(jù)類型 MySQL中定義數(shù)據(jù)字段的類型對你數(shù)據(jù)庫的優(yōu)化是非常重要的。 MySQL支持多種類型,大...
    garvin閱讀 675評論 0 1
  • 手動不易,轉(zhuǎn)發(fā)請注明出處 --Trance 數(shù)據(jù)庫系統(tǒng)命令: (1).查看存儲過程狀態(tài):show pro...
    Trance_b54c閱讀 1,831評論 0 8
  • 計算機誕生后,數(shù)據(jù)開始在計算機中存儲并計算,并設(shè)計出了數(shù)據(jù)庫系統(tǒng),數(shù)據(jù)庫系統(tǒng)解決的問題:持久化存儲,優(yōu)化讀寫,保證...
    LittlePy閱讀 850評論 0 0
  • 來三亞幾年了,一直想去七仙嶺玩一趟,總以為離得很遠,所以一直沒有成行。這次七仙嶺希爾頓酒店在做優(yōu)惠活動,仔細一查...
    十八貝勒閱讀 774評論 0 0

友情鏈接更多精彩內(nèi)容