MySQL中TEXT與BLOB欄位型別的區別
在MySQL中有兩個欄位型別容易讓人感覺混淆,那就是TEXT與BLOB,特別是自己寫部落格程式的博主不知道改為自己的部落格正文欄位選擇TEXT還是BLOB型別。
下面給出幾點區別:
一、主要差別
TEXT與BLOB的主要差別就是BLOB儲存二進位制資料,TEXT儲存字元資料。目前幾乎所有部落格內容裡的圖片都不是以二進位制儲存在資料庫的,而是把圖片上傳到伺服器然後正文裡使用標籤引用,這樣的部落格就可以使用TEXT型別。而BLOB就可以把圖片換算成二進位制儲存到資料庫中。
二、型別區別
BLOB有4種型別:TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。它們只是可容納值的最大長度不同。
TEXT也有4種型別:TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT。這些型別同BLOB型別一樣,有相同的最大長度和儲存需求。
三、字符集
BLOB列沒有字符集,並且排序和比較基於列值位元組的數值值。TEXT列有一個字符集,並且根據字符集的校對規則對值進行排序和比較
四、大小寫
在TEXT或BLOB列的儲存或檢索過程中,不存在大小寫轉換,都一樣!
五、嚴格模式
執行在非嚴格模式時,如果你為BLOB或TEXT列分配一個超過該列型別的最大長度的值值,值被擷取以保證適合。如果截掉的字元不是空格,將會產生一條警告。使用嚴格SQL模式,會產生錯誤,並且值將被拒絕而不是擷取並給出警告。
六、其它
當儲存或檢索BLOB和TEXT列的值時不刪除尾部空格。
對於BLOB和TEXT列的索引,必須指定索引字首的長度。
BLOB和TEXT列不能有預設值。
當排序時只使用該列的前max_sort_length個位元組。max_sort_length的 預設值是1024。
當你想要使超過max_sort_length的位元組有意義,對含長值的BLOB或TEXT列使用GROUP BY或ORDER BY的另一種方式是將列值轉換為固定長度的物件。標準方法是使用SUBSTRING函式。
BLOB或TEXT物件的最大大小由其型別確定,但在客戶端和伺服器之間實際可以傳遞的最大值由可用記憶體數量和通訊快取區大小確定。你可以透過更改max_allowed_packet變數的值更改訊息快取區的大小,但必須同時修改伺服器和客戶端程式。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/964/viewspace-2810807/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysql BLOB型別 TEXT型別MySql型別
- Mysql BLOB、BLOB與TEXT區別及效能影響、將BLOB型別轉換成VARCHAR型別MySql型別
- PHP 操作 mysql blob 資料型別的欄位PHPMySql資料型別
- MySQL 中 blob 和 text 資料型別詳解MySql資料型別
- 關於mysql中欄位定義的型別int、tinyint區別MySql型別
- varchar or blob:欄位型別的儲存和溢位條件型別
- MIME郵件的multipart型別與text型別的區別型別
- MySQL欄位型別最全解析MySql型別
- MySQL欄位型別小記MySql型別
- MongoDB中的欄位型別IdMongoDB型別
- mysql表操作(alter)/mysql欄位型別MySql型別
- [轉]MySQL 欄位型別參考MySql型別
- MySQL中欄位型別與合理的選擇欄位型別;int(11)最大長度是多少?varchar最大長度是多少?MySql型別
- SQL Server中text型別匯入oracle clob欄位時的設定SQLServer型別Oracle
- MySQL欄位新增註釋,但不改變欄位的型別MySql型別
- mysql的text/blob和行溢位MySql
- mysql索引型別Normal,Unique,Full Text區別以及索引方法Btree,Hash的區別MySql索引型別ORM
- oracle的欄位型別Oracle型別
- 在ASP中讀取ORACLE中的BLOB型別的欄位的值,不用Oracle Object for Object (轉)Oracle型別Object
- BLOB(二進位制大物件:text、ntext或image)型別資料的操作物件型別
- 保留兩位小數:資料庫欄位型別NUMBER,Java欄位型別Double型別資料庫型別Java
- ORACLE MYSQL中join 欄位型別不同索引失效的情況OracleMySql型別索引
- 修改表的欄位型別型別
- 細說SQL SERVER中欄位型別SQLServer型別
- 查詢mysql某張表中的所有資料(欄位)型別MySql型別
- MongoDB更改欄位型別MongoDB型別
- MySQL:count(*) count(欄位) 實現上區別MySql
- JSON欄位型別在ORM中的使用JSON型別ORM
- mysql的text欄位長度MySql
- oracle 修改欄位型別的方法Oracle型別
- 值型別與引用型別的區別型別
- SQL Server TEXT型別欄位字串替換示例處理指令碼SQLServer型別字串指令碼
- MySQL字元資料型別char與varchar的區別MySql字元資料型別
- IL角度理解C#中欄位,屬性與方法的區別C#
- MYSQL SET型別欄位的SQL操作知識介紹MySql型別
- MySQL的主鍵和欄位型別問題總結MySql型別
- date、timestamp欄位型別型別
- 資料欄位型別匹配型別