更新時(shí)間:2019年11月21日11時(shí)49分 來源:傳智播客 瀏覽次數(shù):
從上面圖中可以看出,當(dāng)數(shù)據(jù)為CHAR(4)類型時(shí),不管插入值的長(zhǎng)度是多少,所占用的存儲(chǔ)空間都是4個(gè)字節(jié)。而VARCHAR(4)所對(duì)應(yīng)的數(shù)據(jù)所占用的字節(jié)數(shù)為實(shí)際長(zhǎng)度加1。
BINARY和 VARBINARY類型
BINARY和 VARBINARY類型類似于CHAR和VARCHAR,不同的是,它們所表示的是二進(jìn)制數(shù)據(jù)。定義 INARY和 VARBINARY類型的方式如下所:
BINARY(M) EX VARBINARY (M)
在上述格式中,M指的是二進(jìn)制數(shù)據(jù)的最大字節(jié)長(zhǎng)度。
需要注意的是,BINARY類型的長(zhǎng)度是固定的,如果數(shù)據(jù)的長(zhǎng)度不足最大長(zhǎng)度,將在數(shù)據(jù)的后面用“\0”補(bǔ)齊,最終達(dá)到指定長(zhǎng)度。例如,指定數(shù)據(jù)類型為BINARY(3),當(dāng)插入a時(shí),實(shí)際存儲(chǔ)的數(shù)據(jù)為“a0\0”,當(dāng)插入ab時(shí),實(shí)際存儲(chǔ)的數(shù)據(jù)為“ab\0”。
TEXT類型
TEXT類型用于表示大文本數(shù)據(jù),例如,文章內(nèi)容、評(píng)論等,它的類型分為4種,具體下圖。
BL0B類型
BLOB類型是一種特殊的二進(jìn)制類型,它用于表示數(shù)據(jù)量很大的二進(jìn)制數(shù)據(jù),例如圖片、PDF文檔等。BLOB類型分為四種,具體如下所示。
需要注意的是,BL0B類型與TX類型很相似,但BL0B類型數(shù)據(jù)是根據(jù)二進(jìn)制編碼進(jìn)行比較和排序,而仼XT類型數(shù)據(jù)是根據(jù)文本模式進(jìn)行比較和排序。
ENM類型
ENUM類型又稱為枚舉類型,定義ENM類型的數(shù)據(jù)格式如下所示:
ENUM(‘值1', ’值2’, ’值33’ ,…, ’值n’)
在上述格式中,(‘值1', ’值2’, ’值33’ ,…, ’值n’)稱為枚舉列表,ENM類型的數(shù)據(jù)只能從枚舉列表中取,并且只能取一個(gè)。需要注意的是,枚舉列表中的每個(gè)值都有一個(gè)順序編號(hào),MySQL中存入的就是這個(gè)順序編號(hào),而不是列表中的值。
SET類型
SET類型用于表示字符串對(duì)象,它的值可以零個(gè)或多個(gè),SET類型數(shù)據(jù)的定義格式與ENUM類型類似,具體語法格式如下所示:
SET(‘值1’,’值2’,’值3’,...,’值n’)
與ENUM類型相同,(‘值1’,’值2’,’值3’,...,’值n’)列表中的每個(gè)值都有一個(gè)順序編號(hào),MySQL中存入的也是這個(gè)順序編號(hào),而不是列表中的值。
BIT類型
BIT類型用于表示二進(jìn)制數(shù)據(jù)。定義BIT類型的基本語法格式如下所示:
BIT(M)
在上述格式中,M用于表示每個(gè)值的位數(shù),范圍為1~64。需要注意的是,如果分配的BIT(M)類型的數(shù)據(jù)長(zhǎng)度小于M,將在數(shù)據(jù)的左邊用0補(bǔ)齊。例如,為BIT(6)分配值b‘101’的效果與分配b“000101’相同。
猜你喜歡:
MySQL安裝教程
軟件測(cè)試培訓(xùn)課程
數(shù)據(jù)庫中字段類型和約束有什么作用?[軟件測(cè)試培訓(xùn)]
2019-11-15Jmeter如何測(cè)試WebService接口[軟件測(cè)試培訓(xùn)]
2019-11-15Jmeter 安裝使用教程【傳智播客】
2019-11-14軟件性能測(cè)試的步驟介紹
2019-11-12python正則表達(dá)式match search 和findall之間的區(qū)別是什么?[軟件測(cè)試培訓(xùn)]
2019-11-11python接口自動(dòng)化測(cè)試中使用pymysql直連數(shù)據(jù)庫【軟件測(cè)試培訓(xùn)】
2019-11-07北京校區(qū)