国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
MySQL字符串各列類(lèi)型的區(qū)別


1.

首先CHAR, VARCHAR, TEXT和BINARY, VARBINARY, BLOB的區(qū)別:

HAR, VARCHAR, TEXT稱(chēng)為非二進(jìn)制字符串;

BINARY, VARBINARY, BLOB稱(chēng)為二進(jìn)制字符串;

二進(jìn)制字符串和非二進(jìn)制字符串的區(qū)別是:
二進(jìn)制字符串包含的是字節(jié)字符串,非二進(jìn)制字符串包含的是字符字符串;

后者可以定義字符集,前者不可以;

而且排序和比較前者基于列值字節(jié)的數(shù)值值,后者則根據(jù)字母順序進(jìn)行排序或比較;

BINARY類(lèi)似與CHAR類(lèi)型,但是保存二進(jìn)制字符串而不是非二進(jìn)制字符串;

VARBINARY類(lèi)似與VARCHAR類(lèi)型,但是保存二進(jìn)制字符串而不是非二進(jìn)制字符串;
同樣類(lèi)似的BLOB對(duì)應(yīng)TEXT類(lèi)型(相應(yīng)的有TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB和TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT)

2.

CHAR和VARCHAR相同之處:

都可以定義字符串的長(zhǎng)度,如CHAR(M), VARCHAR(M);

不同之處:

CHAR(M)定義的列的長(zhǎng)度為固定的,M取值可以為0~255之間,當(dāng)保存CHAR值時(shí),在它們的右邊填充空格以達(dá)到指定的長(zhǎng)度。當(dāng)檢索到CHAR值時(shí),尾部的空格被刪除掉。在存儲(chǔ)或檢索過(guò)程中不進(jìn)行大小寫(xiě)轉(zhuǎn)換。

VARCHAR(M)定義的列的長(zhǎng)度為可變長(zhǎng)字符串,M取值可以為0~65535之間,(VARCHAR的最大有效長(zhǎng)度由最大行大小和使用的字符集確定。整體最大長(zhǎng)度是65,532字節(jié))。VARCHAR值保存時(shí)只保存需要的字符數(shù),另加一個(gè)字節(jié)來(lái)記錄長(zhǎng)度(如果列聲明的長(zhǎng)度超過(guò)255,則使用兩個(gè)字節(jié))。VARCHAR值保存時(shí)不進(jìn)行填充。當(dāng)值保存和檢索時(shí)尾部的空格仍保留,符合標(biāo)準(zhǔn)SQL。

注意:MySQL 數(shù)據(jù)庫(kù)的varchar類(lèi)型在4.1以下的版本中的最大長(zhǎng)度限制為255,其數(shù)據(jù)范圍可以是0~255或1~255(根據(jù)不同版本數(shù)據(jù)庫(kù)來(lái)定)。在 MySQL5.0以上的版本中,varchar數(shù)據(jù)類(lèi)型的長(zhǎng)度支持到了65535,也就是說(shuō)可以存放65532個(gè)字節(jié)的數(shù)據(jù),起始位和結(jié)束位占去了3個(gè)字 節(jié),也就是說(shuō),在4.1或以下版本中需要使用固定的TEXT或BLOB格式存放的數(shù)據(jù)可以使用可變長(zhǎng)的varchar來(lái)存放,這樣就能有效的減少數(shù)據(jù)庫(kù)文 件的大小。

CHAR和VARCHAR最大的不同就是一個(gè)是固定長(zhǎng)度,一個(gè)是可變長(zhǎng)度。由于是可變長(zhǎng)度,因此實(shí)際存儲(chǔ)的時(shí)候是實(shí)際字符串再加上一個(gè)記錄字符串長(zhǎng)度的字節(jié)(如果超過(guò)255則需要兩個(gè)字節(jié))

如果分配給CHAR或VARCHAR列的值超過(guò)列的最大長(zhǎng)度,則對(duì)值進(jìn)行裁剪以使其適合。如果被裁掉的字符不是空格,則會(huì)產(chǎn)生一條警告。如果裁剪非空格字符,則會(huì)造成錯(cuò)誤(而不是警告)并通過(guò)使用嚴(yán)格SQL模式禁用值的插入。

由于BINARY和VARBINARY分別與CHAR和VARCHAR對(duì)應(yīng),因此兩者的區(qū)別也和CHAR和VARCHAR的區(qū)別類(lèi)似。

但是注意VARBINARY定義的M值范圍為0<=M<=255

3. VARCHAR和TEXT類(lèi)型的區(qū)別:

TEXT類(lèi)型不需要指定M值,其他方面與VARCHAR都類(lèi)似:比如存儲(chǔ)的是可變長(zhǎng)度,即不夠的部分不需要右邊空格填充;等等。

TEXT與VARCHAR類(lèi)似,實(shí)際需要保存字符串本身外加兩個(gè)字節(jié)保存字符串的實(shí)際長(zhǎng)度。

看下表容易理解上面講述的區(qū)別:

字符串類(lèi)型的存儲(chǔ)需求(M為最大長(zhǎng)度,L實(shí)際存儲(chǔ)字符串的長(zhǎng)度)


本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
MySQL數(shù)據(jù)庫(kù)介紹
MySQL 從零開(kāi)始:05 數(shù)據(jù)類(lèi)型
數(shù)據(jù)庫(kù)中的varbinary類(lèi)型:正確轉(zhuǎn)換與優(yōu)化措施
mysql中char與varchar的區(qū)別分析
MySQL表數(shù)據(jù)量估算及表大小趨勢(shì)跟蹤
[MySQL]MySQL 數(shù)據(jù)類(lèi)型 詳解
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服