mysql中char,varchar与text类型的区别和选用
關(guān)于char,varchar與text平時(shí)沒(méi)有太在意,一般來(lái)說(shuō),可能現(xiàn)在大家都是用varchar。但是當(dāng)要存儲(chǔ)的內(nèi)容比較大時(shí),究竟是選擇varchar還是text呢?不知道。。。。。。
text?、?char、varchar??是數(shù)據(jù)在數(shù)據(jù)庫(kù)中的存放策略問(wèn)題,為了,合理
應(yīng)用存儲(chǔ)空間,是數(shù)據(jù)庫(kù)服務(wù)器數(shù)據(jù)類型劃分的方式。對(duì)于應(yīng)用程序,把它們
和string對(duì)應(yīng)就可以了。
于是去查閱了一些資料,順便將這三種類型做個(gè)比較:
(1)char: ?char不用多說(shuō)了,它是定長(zhǎng)格式的,但是長(zhǎng)度范圍是0~255. 當(dāng)你想要儲(chǔ)存一個(gè)長(zhǎng)度不足255的字符時(shí),MySQL會(huì)用空格來(lái)填充剩下的字符。因此在讀取數(shù)據(jù)時(shí),char類型的數(shù)據(jù)要進(jìn)行處理,把后面的空格去除。
(2)varchar: ?關(guān)于varchar,有的說(shuō)最大長(zhǎng)度是255,也有的說(shuō)是65535,查閱很多資料后發(fā)現(xiàn)是這樣的:varchar類型在5.0.3以下的版本中的最大長(zhǎng)度限制為255,而在5.0.3及以上的版本中,varchar數(shù)據(jù)類型的長(zhǎng)度支持到了65535,也就是說(shuō)可以存放65532個(gè)字節(jié)(注意是字節(jié)而不是字符!!!)的數(shù)據(jù)(起始位和結(jié)束位占去了3個(gè)字節(jié)),也就是說(shuō),在5.0.3以下版本中需要使用固定的TEXT或BLOB格式存放的數(shù)據(jù)可以在高版本中使用可變長(zhǎng)的varchar來(lái)存放,這樣就能有效的減少數(shù)據(jù)庫(kù)文件的大小。
(3)text:與char和varchar不同的是,text不可以有默認(rèn)值,其最大長(zhǎng)度是2的16次方-1
總結(jié)起來(lái),有幾點(diǎn):
?
總結(jié)
以上是生活随笔為你收集整理的mysql中char,varchar与text类型的区别和选用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 加载中GIF动画图
- 下一篇: centos6安装mysql权限被拒绝_