MySQL數(shù)據(jù)庫中的字符串如何正確應(yīng)用?
此文章主要介紹的是MySQL數(shù)據(jù)庫的字符(串)的實際操作步驟,我們大家都知道MySQL數(shù)據(jù)庫的字符(串)在實際操作是經(jīng)常被用到了,所以你對其有更多的了解還是好的,希望會給你帶來一些幫助在此方面。
MySQL數(shù)據(jù)庫的字符(串)類不要以為字符類型就是CHAR,CHAR和VARCHAR的區(qū)別在于CHAR是固定長度,只要你定義一個字段是CHAR(10),那么不論你存儲的數(shù)據(jù)是否達(dá)到了10個字節(jié),它都要占去10個字節(jié)的空間;而VARCHAR則是可變長度的,如果一個字段可能的值是不固定長度的,我們只知道它不可能超過10個字符,把它定義為VARCHAR(10)是最合算的,VARCHAR類型的占用空間是它的值的實際長度+1。
為什么要+1呢?這一個字節(jié)用于保存實際使用了多大的長度。從這個+1中也應(yīng)該看到,如果一個字段,它的可能值最長是10個字符,而多數(shù)情況下也就是用到了10個字符時,用VARCHAR就不合算了:因為在多數(shù)情況下,實際占用空間是11個字節(jié),比用CHAR(10)還多占用一個字節(jié)。
舉個例子,就是一個存儲股票名稱和代碼的表,股票名稱絕大部分是四個字的,即8個字節(jié);股票代碼,上海的是六位數(shù)字,深圳的是四位數(shù)字。這些都是固定長度的,股票名稱當(dāng)然要用CHAR(8);股票代碼雖然是不固定長度,但如果使用VARCHAR(6),一個深圳的股票代碼實際占用空間是5個字節(jié),而一個上海的股票代碼要占用7個字節(jié)!考慮到上海的股票數(shù)目比深圳的多,那么用VARCHAR(6)就不如CHAR(6)合算了。
雖然一個CHAR或VARCHAR的最大長度可以到255,我認(rèn)為大于20的CHAR是幾乎用不到的――很少有大于20個字節(jié)長度的固定長度的東東吧?不是固定長度的就用VARCHAR。大于100的VARCHAR也是幾乎用不到的――比這更大的用TEXT就好了。
TINYTEXT,最大長度為255,占用空間也是實際長度+1;TEXT,最大長度65535,占用空間是實際長度+2;MEDIUMTEXT,最大長度16777215,占用空間是實際長度+3;LONGTEXT,最大長度4294967295,占用空間是實際長度+4。為什么+1、+2、+3、+4?你要是還不知道就該打PP了。這些可以用在論壇啊、新聞啊,什么的,用來保存文章的正文。根據(jù)實際情況的不同,選擇從小到大的不同類型。
以上的相關(guān)內(nèi)容就是對MySQL數(shù)據(jù)庫的字符(串)類型的介紹,望你能有所收獲。
上述的相關(guān)內(nèi)容就是對MySQL數(shù)據(jù)庫的字符(串)類型的描述,希望會給你帶來一些幫助在此方面。
【編輯推薦】
- C++庫連接來對MySQL數(shù)據(jù)庫進(jìn)行正確連接
- MySQL查詢優(yōu)化系列之MySQL查詢優(yōu)化器
- MySQL數(shù)據(jù)庫在ArchLinux的安裝和啟動匯總
- MySQL 5.0在windows安裝的詳細(xì)介紹
- 正確安裝MySQL事務(wù)數(shù)據(jù)庫不得不看