国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

mysql中text與varchar與char的區別

2024-07-24 12:42:20
字體:
來源:轉載
供稿:網友

   char類型

  CHAR列的長度固定為創建表時聲明的長度。長度可以為從0到255的任何值。當保存CHAR值時,在它們的右邊填充空格以達到指定的長度。當檢索到CHAR值時,尾部的空格被刪除掉。在存儲或檢索過程中不進行大小寫轉換。

  varchar類型

  VARCHAR列中的值為可變長字符串。長度可以指定為0到65,535之間的值。(VARCHAR的最大有效長度由最大行大小和使用的字符集確定。整體最大長度是65,532字節)。

  text類型

  有4種TEXT類型:TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT。這些對應4種BLOB類型,有相同的最大長度和存儲需求。

  BLOB 列被視為二進制字符串(字節字符串)。TEXT列被視為非二進制字符串(字符字符串)。BLOB列沒有字符集,并且排序和比較基于列值字節的數值值。TEXT列有一個字符集,并且根據字符集的 校對規則對值進行排序和比較。

  在TEXT或BLOB列的存儲或檢索過程中,不存在大小寫轉換。

  當未運行在嚴格模式時,如果你為BLOB或TEXT列分配一個超過該列類型的最大長度的值值,值被截取以保證適合。如果截掉的字符不是空格,將會產生一條警告。使用嚴格SQL模式,會產生錯誤,并且值將被拒絕而不是截取并給出警告。

  在大多數方面,可以將BLOB列視為能夠足夠大的VARBINARY列。同樣,可以將TEXT列視為VARCHAR列。BLOB和TEXT在以下幾個方面不同于VARBINARY和VARCHAR:

  當保存或檢索BLOB和TEXT列的值時不刪除尾部空格。(這與VARBINARY和VARCHAR列相同)。

  請注意比較時將用空格對TEXT進行擴充以適合比較的對象,正如CHAR和VARCHAR。

  對于BLOB和TEXT列的索引,必須指定索引前綴的長度。對于CHAR和VARCHAR,前綴長度是可選的。

  BLOB和TEXT列不能有 默認值。

  LONG和LONG VARCHAR對應MEDIUMTEXT數據類型。這是為了保證兼容性。如果TEXT列類型使用BINARY屬性,將為列分配列字符集的二元 校對規則。

  MySQL連接程序/ODBC將BLOB值定義為LONGVARBINARY,將TEXT值定義為LONGVARCHAR。

  由于BLOB和TEXT值可能會非常長,使用它們時可能遇到一些約束:

  當排序時只使用該列的前max_sort_length個字節。

  max_sort_length的 默認值是1024;該值可以在啟動mysqld服務器時使用--max_sort_length選項進行更改。參見5.3.3節,“服務器系統變量”。

  運行時增加max_sort_length的值可以在排序或組合時使更多的字節有意義。任何客戶端可以更改其會話max_sort_length變量的值:

  mysql> SET max_sort_length = 2000;mysql> SELECT id, comment FROM tbl_name -> ORDER BY comment;

  當你想要使超過max_sort_length的字節有意義,對含長值的BLOB或TEXT列使用GROUP BY或ORDER BY的另一種方式是將列值轉換為固定長度的對象。標準方法是使用SUBSTRING函數。例如,下面的語句對comment列的2000個字節進行排序:

  mysql> SELECT id, SUBSTRING(comment,1,2000) FROM tbl_name -> ORDER BY SUBSTRING(comment,1,2000);·

  BLOB或TEXT對象的最大大小由其類型確定,但在客戶端和服務器之間實際可以傳遞的最大值由可用內存數量和通信緩存區大小確定。你可以通過更改max_allowed_packet變量的值更改消息緩存區的大小,但必須同時修改服務器和客戶端程序。例如,可以使用 mysql和mysqldump來更改客戶端的max_allowed_packet值。參見7.5.2節,“調節服務器參數”、8.3節,“mysql:MySQL命令行工具”和8.8節,“mysqldump:數據庫備份程序”。

  每個BLOB或TEXT值分別由內部分配的對象表示。這與其它列類型形成對比,后者是當打開表時為每1列分配存儲引擎。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大石桥市| 工布江达县| 华坪县| 大理市| 清苑县| 深泽县| 双牌县| 扎赉特旗| 西城区| 搜索| 江阴市| 新竹市| 广西| 宜兰市| 周至县| 师宗县| 襄樊市| 凌源市| 玛曲县| 鹿泉市| 万盛区| 石河子市| 松原市| 夏河县| 金塔县| 临安市| 阳新县| 巴楚县| 曲周县| 沈阳市| 抚顺市| 镇巴县| 天峻县| 凤翔县| 南乐县| 安泽县| 舞阳县| 如皋市| 河南省| 剑阁县| 万州区|