最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL中VARCHAR與CHAR格式數(shù)據(jù)的區(qū)別

 更新時(shí)間:2015年09月02日 11:07:46   投稿:hebedich  
char是一種固定長(zhǎng)度的類(lèi)型,varchar則是一種可變長(zhǎng)度的類(lèi)型,那么他們具體使用過(guò)程中有什么區(qū)別嗎

區(qū)別

CHAR與VARCHAR類(lèi)型類(lèi)似,但它們保存和檢索的方式不同。CHAR有固定的長(zhǎng)度,而VARCHAR屬于可變長(zhǎng)的字符類(lèi)型。它們最大長(zhǎng)度和是否尾部空格被保留等方面也不同。在存儲(chǔ)和檢索過(guò)程中不進(jìn)行大小寫(xiě)轉(zhuǎn)換。

下面的表格顯示了將各種字符串值保存到CHAR(4)和VARCHAR(4)列后的結(jié)果,說(shuō)明了CHAR和VARCHAR之間的差別:

值 CHAR(4) 存儲(chǔ)需求 VARCHAR(4) 存儲(chǔ)需求
'' ' ' 4個(gè)字節(jié) '' 1個(gè)字節(jié)
'ab' 'ab ' 4個(gè)字節(jié) 'ab' 3個(gè)字節(jié)
'abcd' 'abcd' 4個(gè)字節(jié) 'abcd' 5個(gè)字節(jié)
'abcdefgh' 'abcd' 4個(gè)字節(jié) 'abcd' 5個(gè)字節(jié)

從上面可以看得出來(lái)CHAR的長(zhǎng)度是固定的,不管你存儲(chǔ)的數(shù)據(jù)是多少他都會(huì)都固定的長(zhǎng)度。而VARCHAR則處可變長(zhǎng)度但他要在總長(zhǎng)度上加1字節(jié),這個(gè)用來(lái)存儲(chǔ)字符長(zhǎng)度(如果聲明的長(zhǎng)度超過(guò)255,則使用2個(gè)字節(jié))。所以實(shí)際應(yīng)用中用戶可以根據(jù)自己的數(shù)據(jù)類(lèi)型來(lái)做。

請(qǐng)注意,上表中最后一行的值只適用不使用嚴(yán)格模式時(shí);如果MySQL運(yùn)行在嚴(yán)格模式,超過(guò)列長(zhǎng)度的值不被保存,并且會(huì)出現(xiàn)錯(cuò)誤。

從CHAR(4)和VARCHAR(4)列檢索的值并不總是相同,因?yàn)闄z索時(shí)從CHAR列刪除了尾部的空格。通過(guò)下面的例子說(shuō)明差別:

mysql> CREATE TABLE test(a VARCHAR(4), b CHAR(4));

mysql> INSERT INTO test VALUES ('ab ', 'ab ');

mysql> SELECT CONCAT(a, '+'), CONCAT(b, '+') FROM test;

結(jié)果如下:

CONCAT(a, '+') CONCAT(b, '+')
ab + ab+

從上面可以看出來(lái),由于某種原因CHAR有固定長(zhǎng)度,所以在處理速度上要比VARCHAR快很多,但是相對(duì)浪費(fèi)存儲(chǔ)空間,所以對(duì)存儲(chǔ)不大,但在速度上有要求的可以使用CHAR類(lèi)型,反之可以用VARCHAR類(lèi)型來(lái)實(shí)現(xiàn)。

建議

MyISAM存儲(chǔ)引擎 建議使用固定長(zhǎng)度,數(shù)據(jù)列代替可變長(zhǎng)度的數(shù)據(jù)列
INNODB 存儲(chǔ)引擎 建議使用VARCHAR類(lèi)型

總結(jié)分析:

文字字段若長(zhǎng)度固定,如:身分證號(hào)碼,就不要用 varchar 或 nvarchar,應(yīng)該用 char 或 nchar。
支持多語(yǔ)言的站點(diǎn)應(yīng)考慮使用 Unicode nchar 或 nvarchar 數(shù)據(jù)類(lèi)型以盡量減少字符轉(zhuǎn)換問(wèn)題
文字字段若長(zhǎng)度不固定,如:地址,則該用 varchar 或 nvarchar。除了可節(jié)省存儲(chǔ)空間外,存取硬盤(pán)時(shí)也會(huì)較有效率

相關(guān)文章

  • mysql安裝忘記初始密碼簡(jiǎn)單有效的解決方法

    mysql安裝忘記初始密碼簡(jiǎn)單有效的解決方法

    在本篇文章里小編給大家整理的是一篇關(guān)于mysql安裝忘記初始密碼簡(jiǎn)單有效的解決方法,有需要的朋友們參考學(xué)習(xí)下。
    2020-01-01
  • sql server自動(dòng)編號(hào)的三種方法

    sql server自動(dòng)編號(hào)的三種方法

    自增列是最簡(jiǎn)單和常見(jiàn)的方法,適用于大多數(shù)情況,本文介紹了SQL Server中三種常見(jiàn)的自動(dòng)編號(hào)方法:自增列、序列和觸發(fā)器,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • MySQL之Explain詳解

    MySQL之Explain詳解

    使用Explain關(guān)鍵字可以模擬優(yōu)化器執(zhí)行SQL語(yǔ)句,分析你的查詢語(yǔ)句或是結(jié)構(gòu)的性能瓶頸,感興趣的的同學(xué)可以參考閱讀
    2023-04-04
  • mysql刪除重復(fù)記錄并且只保留一條的實(shí)現(xiàn)方法

    mysql刪除重復(fù)記錄并且只保留一條的實(shí)現(xiàn)方法

    本文主要介紹了mysql刪除重復(fù)記錄并且只保留一條的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • MySQL安裝出現(xiàn)starting the server報(bào)錯(cuò)的解決方案

    MySQL安裝出現(xiàn)starting the server報(bào)錯(cuò)的解決方案

    如果電腦是第一次安裝MySQL,一般不會(huì)出現(xiàn)這樣的報(bào)錯(cuò),如下圖所示,本文主要介紹了MySQL安裝出現(xiàn)starting the server報(bào)錯(cuò)的解決方案,感興趣的可以了解一下
    2024-07-07
  • MySQL復(fù)合查詢和內(nèi)外連接的操作代碼

    MySQL復(fù)合查詢和內(nèi)外連接的操作代碼

    實(shí)際開(kāi)發(fā)中往往數(shù)據(jù)來(lái)自不同的表,所以需要多表查詢,但是可以將多張表做笛卡爾積后的表當(dāng)做是一張表,也就是單表查詢,這篇文章主要介紹了MySQL復(fù)合查詢和內(nèi)外連接,需要的朋友可以參考下
    2022-09-09
  • 增刪改查sql語(yǔ)法基礎(chǔ)教程

    增刪改查sql語(yǔ)法基礎(chǔ)教程

    為了準(zhǔn)備面試,整理了一些SQL基本語(yǔ)句和自己的理解,作為備份,下面這篇文章主要給大家介紹了關(guān)于增刪改查sql語(yǔ)法基礎(chǔ)教程的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • Mysql TIMESTAMPDIFF函數(shù)示例詳解

    Mysql TIMESTAMPDIFF函數(shù)示例詳解

    這篇文章主要介紹了Mysql TIMESTAMPDIFF函數(shù)示例詳解,TIMESTAMPDIFF函數(shù)返回datetime_expr2 - datetime_expr1的結(jié)果,其中datetime_expr1和datetime_expr2可以是DATE或DATETIME類(lèi)型值,本文給大家詳細(xì)講解,需要的朋友可以參考下
    2023-03-03
  • 結(jié)合PHP腳本添加和查詢MySQL數(shù)據(jù)的基本教程

    結(jié)合PHP腳本添加和查詢MySQL數(shù)據(jù)的基本教程

    這篇文章主要介紹了結(jié)合PHP腳本添加和查詢MySQL數(shù)據(jù)的基本教程,即在PHP程序中使用基本的SELECT FROM和INSERT INTO語(yǔ)句,需要的朋友可以參考下
    2015-12-12
  • MySQL查詢中LIMIT的大offset導(dǎo)致性能低下淺析

    MySQL查詢中LIMIT的大offset導(dǎo)致性能低下淺析

    這篇文章主要給大家介紹了關(guān)于MySQL查詢中LIMIT的大offset導(dǎo)致性能低下的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12

最新評(píng)論

保山市| 景洪市| 宁津县| 大港区| 昆明市| 桃源县| 松滋市| 遂昌县| 滕州市| 无极县| 江华| 黑山县| 出国| 镇坪县| 湘西| 郸城县| 吉首市| 光泽县| 密云县| 尉犁县| 枣阳市| 阿尔山市| 法库县| 萨嘎县| 福州市| 运城市| 冷水江市| 新乡县| 磴口县| 临桂县| 搜索| 乐陵市| 泾阳县| 西乌珠穆沁旗| 乌拉特前旗| 离岛区| 齐河县| 富宁县| 杭锦旗| 绍兴县| 富源县|