《MYSQL數(shù)據(jù)庫MySQL教程》要點(diǎn):
本文介紹了MYSQL數(shù)據(jù)庫MySQL教程,希望對您有用。如果有疑問,可以聯(lián)系我們。
MYSQL必讀?一,char類型
char列的長度固定為創(chuàng)建表時(shí)聲明的長度.長度可以為從0到255的任何值.當(dāng)保存char值時(shí),在它們的右邊填充空格以達(dá)到指定的長度.當(dāng)檢索到char值時(shí),尾部的空格被刪除掉.在存儲或檢索過程中不進(jìn)行大小寫轉(zhuǎn)換.
MYSQL必讀二,varchar類型
varchar列中的值為可變長字符串.長度可以指定為0到65,535之間的值.(varchar的最大有效長度由最大行大小和使用的字符集確定.整體最大長度是65,532字節(jié)).
三,text類型
有4種text類型:tinytext、text、mediumtext和longtext.這些對應(yīng)4種blob類型,有相同的最大長度和存儲需求.
blob 列被視為二進(jìn)制字符串(字節(jié)字符串).text列被視為非二進(jìn)制字符串(字符字符串).blob列沒有字符集,并且排序和比較基于列值字節(jié)的數(shù)值值.text列有一個(gè)字符集,并且根據(jù)字符集的 校對規(guī)則對值進(jìn)行排序和比較.
MYSQL必讀 在text或blob列的存儲或檢索過程中,不存在大小寫轉(zhuǎn)換.
當(dāng)未運(yùn)行在嚴(yán)格模式時(shí),如果你為blob或text列分配一個(gè)超過該列類型的最大長度的值值,值被截取以保證適合.如果截掉的字符不是空格,將會(huì)產(chǎn)生一條警告.使用嚴(yán)格sql模式,會(huì)產(chǎn)生錯(cuò)誤,并且值將被拒絕而不是截取并給出警告.
MYSQL必讀 在大多數(shù)方面,可以將blob列視為能夠足夠大的varbinary列.同樣,可以將text列視為varchar列.blob和text在以下幾個(gè)方面不同于varbinary和varchar:
當(dāng)保存或檢索blob和text列的值時(shí)不刪除尾部空格.(這與varbinary和varchar列相同).
請注意比較時(shí)將用空格對text進(jìn)行擴(kuò)充以適合比較的對象,正如char和varchar.
對于blob和text列的索引,必須指定索引前綴的長度.對于char和varchar,前綴長度是可選的.
blob和text列不能有 默認(rèn)值.
MYSQL必讀 long和long varchar對應(yīng)mediumtext數(shù)據(jù)類型.這是為了保證兼容性.如果text列類型使用binary屬性,將為列分配列字符集的二元 校對規(guī)則.
mysql連接程序/odbc將blob值定義為longvarbinary,將text值定義為longvarchar.
由于blob和text值可能會(huì)非常長,使用它們時(shí)可能遇到一些約束:
MYSQL必讀 當(dāng)排序時(shí)只使用該列的前max_sort_length個(gè)字節(jié).
max_sort_length的 默認(rèn)值是1024;該值可以在啟動(dòng)mysqld服務(wù)器時(shí)使用--max_sort_length選項(xiàng)進(jìn)行更改.參見5.3.3節(jié),“服務(wù)器系統(tǒng)變量”.
運(yùn)行時(shí)增加max_sort_length的值可以在排序或組合時(shí)使更多的字節(jié)有意義.任何客戶端可以更改其會(huì)話max_sort_length變量的值:
MYSQL必讀 當(dāng)要使超過max_sort_length的字節(jié)有意義,對含長值的blob或text列使用group by或order by的另一種方式是將列值轉(zhuǎn)換為固定長度的對象.標(biāo)準(zhǔn)方法是使用substring函數(shù).例如,下面的語句對comment列的2000個(gè)字節(jié)進(jìn)行排序:
MYSQL必讀 blob或text對象的最大大小由其類型確定,但在客戶端和服務(wù)器之間實(shí)際可以傳遞的最大值由可用內(nèi)存數(shù)量和通信緩存區(qū)大小確定.你可以通過更改max_allowed_packet變量的值更改消息緩存區(qū)的大小,但必須同時(shí)修改服務(wù)器和客戶端程序.例如,可以使用 mysql和mysqldump來更改客戶端的max_allowed_packet值.參見7.5.2節(jié),“調(diào)節(jié)服務(wù)器參數(shù)”、8.3節(jié),“mysql:mysql命令行工具”和8.8節(jié),“mysqldump:數(shù)據(jù)庫備份程序”.
MYSQL必讀 每個(gè)blob或text值分別由內(nèi)部分配的對象表示.這與其它列類型形成對比,后者是當(dāng)打開表時(shí)為每1列分配存儲引擎.
MYSQL必讀以上就是mysql中text|varchar|char字段類型的用法區(qū)別,希望對大家有所幫助.
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/6173.html