這篇文章主要介紹MySQL中char和varchar有什么不一樣,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!
成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、雙灤網(wǎng)絡(luò)推廣、小程序制作、雙灤網(wǎng)絡(luò)營銷、雙灤企業(yè)策劃、雙灤品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供雙灤建站搭建服務(wù),24小時服務(wù)熱線:18982081108,官方網(wǎng)址:jinyejixie.com
MySQL中char和varchar的區(qū)別是什么
區(qū)別一、定長和變長的區(qū)別
1、char 表示定長,長度固定;
2、varchar表示變長,即長度可變。
當(dāng)所插入的字符串超出它們的長度時,視情況來處理,如果是嚴(yán)格模式,則會拒絕插入并提示錯誤信息,如果是寬松模式,則會截取然后插入。如果插入的字符串長度小于定義長度時,則會以不同的方式來處理,如char(10),表示存儲的是10個字符,無論你插入的是多少,都是10個,如果少于10個,則用空格填滿。而varchar(10),小于10個的話,則插入多少個字符就存多少個。
varchar怎么知道所存儲字符串的長度呢?實(shí)際上,對于varchar字段來說,需要使用一個(如果字符串長度小于255)或兩個字節(jié)(長度大于255)來存儲字符串的長度。但是因?yàn)樗枰幸粋€prefix來表示他具體bytes數(shù)是多少(因?yàn)関archar是變長的,沒有這個長度值他不知道如何讀取數(shù)據(jù))。
推薦:MySQL教程
區(qū)別二、存儲的容量不同
1、對 char 來說,最多能存放的字符個數(shù) 255,和編碼無關(guān)。
2、而 varchar 呢,最多能存放 65532 個字符。VARCHAR 的最大有效長度由最大行大小和使用的字符集確定。整體最大長度是 65,532字節(jié)
在MySQL中用來判斷是否需要進(jìn)行對據(jù)列類型轉(zhuǎn)換的規(guī)則
1、在一個數(shù)據(jù)表里,如果每一個數(shù)據(jù)列的長度都是固定的,那么每一個數(shù)據(jù)行的長度也將是固定的.
2、只要數(shù)據(jù)表里有一個數(shù)據(jù)列的長度的可變的,那么各數(shù)據(jù)行的長度都是可變的.
3、如果某個數(shù)據(jù)表里的數(shù)據(jù)行的長度是可變的,那么,為了節(jié)約存儲空間,MySQL會把這個數(shù)據(jù)表里的固定長度類型的數(shù)據(jù)列轉(zhuǎn)換為相應(yīng)的可變長度類型.例外:長度小于4個字符的char數(shù)據(jù)列不會被轉(zhuǎn)換varchar類型
以上是MySQL中char和varchar有什么不一樣的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
網(wǎng)站題目:MySQL中char和varchar有什么不一樣
鏈接分享:http://jinyejixie.com/article12/johidc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、網(wǎng)站設(shè)計(jì)、網(wǎng)站排名、外貿(mào)網(wǎng)站建設(shè)、App設(shè)計(jì)、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)