2020久久超碰欧美精品最新亚洲欧美日韩久久精品,国产福利电影一区二区三区,亚洲欧美日韩一区在线观看,亚洲国产欧美日韩欧美特级,亚洲欧美日韩成人一区久久,欧美日韩精品一区二区三区不卡,国产欧美日韩va另类影音先锋,亚洲欧美日韩久久精品,亚洲欧美日韩国产成人精品影院,亚洲国产欧美日韩精品一区二区三区,欧美日韩国产成人高清视频,日韩久久精品国产免费观看频道,久久人人爽人人爽从片av高清,国产精品综合一区二区

首頁(yè)技術(shù)文章正文

MySQL字符串和二進(jìn)制數(shù)據(jù)類(lèi)型介紹

更新時(shí)間:2019-11-21 來(lái)源:黑馬程序員 瀏覽量:

為了存儲(chǔ)字符串、圖片和聲音等數(shù)據(jù),MySQL提供了字符串和二進(jìn)制類(lèi)型。下面列舉了MYSQL中的字符串和二進(jìn)制類(lèi)型。

1574323906793_MySQL數(shù)據(jù)庫(kù)-二進(jìn)制類(lèi)型.jpg

上面列舉的字符串和二進(jìn)制類(lèi)型中,不同數(shù)據(jù)類(lèi)型具有不同的特點(diǎn),接下來(lái),針對(duì)這些數(shù)據(jù)類(lèi)型一一介紹。

CHAR和VARCHAR類(lèi)型

CHAR和VARCHAR類(lèi)型都用來(lái)表示字符串?dāng)?shù)據(jù),不同的是,VARCHAR可以存儲(chǔ)可變長(zhǎng)度的字符串在MySQL中,定義CHAR和VARCHAR類(lèi)型的方式如下所示:

CHAR(M) 或者 VARCHAR(M)

上面的的定義方式中,M指的是字符串的最大長(zhǎng)度。為了幫助讀者更好地理解CHAR和VARCHAR之間的區(qū)別,下面以CHAR(4)和VARCHAR(4)為例進(jìn)行說(shuō)明,具體如下。

1574323929528_CHAR和VARCHAR.jpg

從上面圖中可以看出,當(dāng)數(shù)據(jù)為CHAR(4)類(lèi)型時(shí),不管插入值的長(zhǎng)度是多少,所占用的存儲(chǔ)空間都是4個(gè)字節(jié)。而VARCHAR(4)所對(duì)應(yīng)的數(shù)據(jù)所占用的字節(jié)數(shù)為實(shí)際長(zhǎng)度加1。

BINARY和 VARBINARY類(lèi)型

BINARY和 VARBINARY類(lèi)型類(lèi)似于CHAR和VARCHAR,不同的是,它們所表示的是二進(jìn)制數(shù)據(jù)。定義 INARY和 VARBINARY類(lèi)型的方式如下所

BINARY(M) EX VARBINARY (M)

在上述格式中,M指的是二進(jìn)制數(shù)據(jù)的最大字節(jié)長(zhǎng)度。

需要注意的是,BINARY類(lèi)型的長(zhǎng)度是固定的,如果數(shù)據(jù)的長(zhǎng)度不足最大長(zhǎng)度,將在數(shù)據(jù)的后面用“\0”補(bǔ)齊,最終達(dá)到指定長(zhǎng)度。例如,指定數(shù)據(jù)類(lèi)型為BINARY(3),當(dāng)插入a時(shí),實(shí)際存儲(chǔ)的數(shù)據(jù)為“a0\0”,當(dāng)插入ab時(shí),實(shí)際存儲(chǔ)的數(shù)據(jù)為“ab\0”。


TEXT類(lèi)型

TEXT類(lèi)型用于表示大文本數(shù)據(jù),例如,文章內(nèi)容、評(píng)論等,它的類(lèi)型分為4種,具體如下所示。

BL0B類(lèi)型

BLOB類(lèi)型是一種特殊的二進(jìn)制類(lèi)型,它用于表示數(shù)據(jù)量很大的二進(jìn)制數(shù)據(jù),例如圖片、PDF文檔等。BLOB類(lèi)型分為四種,具體如下所示。

需要注意的是,BL0B類(lèi)型與TX類(lèi)型很相似,但BL0B類(lèi)型數(shù)據(jù)是根據(jù)二進(jìn)制編碼進(jìn)行比較和排序,而仼XT類(lèi)型數(shù)據(jù)是根據(jù)文本模式進(jìn)行比較和排序。

ENM類(lèi)型

ENUM類(lèi)型又稱為枚舉類(lèi)型,定義ENM類(lèi)型的數(shù)據(jù)格式如下所示:

ENUM(‘值1', ’值2’, ’值33’ ,…, ’值n’)

在上述格式中,(‘值1', ’值2’, ’值33’ ,…, ’值n’)稱為枚舉列表,ENM類(lèi)型的數(shù)據(jù)只能從枚舉列表中取,并且只能取一個(gè)。需要注意的是,枚舉列表中的每個(gè)值都有一個(gè)順序編號(hào),MySQL中存入的就是這個(gè)順序編號(hào),而不是列表中的值。


SET類(lèi)型

SET類(lèi)型用于表示字符串對(duì)象,它的值可以零個(gè)或多個(gè),SET類(lèi)型數(shù)據(jù)的定義格式與ENUM類(lèi)型類(lèi)似,具體語(yǔ)法格式如下所示:

SET(‘值1’,’值2’,’值3’,...,’值n’)

與ENUM類(lèi)型相同,(‘值1’,’值2’,’值3’,...,’值n’)列表中的每個(gè)值都有一個(gè)順序編號(hào),MySQL中存入的也是這個(gè)順序編號(hào),而不是列表中的值。

BIT類(lèi)型

BIT類(lèi)型用于表示二進(jìn)制數(shù)據(jù)。定義BIT類(lèi)型的基本語(yǔ)法格式如下所示:


BIT(M)

在上述格式中,M用于表示每個(gè)值的位數(shù),范圍為1~64。需要注意的是,如果分配的BIT(M)類(lèi)型的數(shù)據(jù)長(zhǎng)度小于M,將在數(shù)據(jù)的左邊用0補(bǔ)齊。例如,為BIT(6)分配值b‘101’的效果與分配b“000101’相同。

猜你喜歡:
MySQL安裝教程

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!