MySQL和MSSQL下,text、ntext、image、blob的比較
MySQL和MSSQL下,text 、ntext、 image、blob的比較2009-12-30 13:371、MySQL存在text和blob:
(1)相同
在TEXT或BLOB列的儲存或檢索過程中,不存在大小寫轉換,當未執行在嚴格模式時,如果你為BLOB或TEXT列分配一個超過該列型別的最大長度的值值,值被擷取以保證適合。如果截掉的字元不是空格,將會產生一條警告。使用嚴格SQL模式,會產生錯誤,並且值將被拒絕而不是擷取並給出警告.
BLOB和TEXT列不能有 預設值.
當儲存或檢索BLOB和TEXT列的值時不刪除尾部空格。(這與VARBINARY和VARCHAR列相同).
對於BLOB和TEXT列的索引,必須指定索引字首的長度。對於CHAR和VARCHAR,字首長度是可選的.
(2)相異
text :
TEXT值是大小寫不敏感的
Text被視為非二進位制字串
TEXT列有一個字符集,並且根據字符集的 校對規則對值進行排序和比較
可以將TEXT列視為VARCHAR列
MySQL連線程式/ODBC將TEXT值定義為LONGVARCHAR
BLOB 可以儲存圖片,TEXT不行,TEXT只能儲存純文字檔案。4個TEXT型別TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT對應於4個BLOB型別,並且有同樣的最大長度和儲存需求。
blob:
BLOB值的排序和比較以大小寫敏感方式執行;
BLOB被視為二進位制字串;
BLOB列沒有字符集,並且排序和比較基於列值位元組的數值值。
在大多數方面,可以將BLOB列視為能夠足夠大的VARBINARY列
MySQL連線程式/ODBC將BLOB值定義為LONGVARBINARY
一個BLOB是一個能儲存可變數量的資料的二進位制的大物件。4個BLOB型別TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB僅僅在他們能儲存值的最大長度方面有所不同。
(3)其他:
VARCHAR,BLOB和TEXT型別是變長型別,對於其儲存需求取決於列值的實際長度(在前面的表格中用L表示),而不是取決於型別的最大可能尺寸。例如,一個VARCHAR(10)列能儲存最大長度為10個字元的一個字串,實際的儲存需要是字串的長度 ,加上1個位元組以記錄字串的長度。對於字串`abcd`,L是4而儲存要求是5個位元組。
BLOB和TEXT型別需要1,2,3或4個位元組來記錄列值的長度,這取決於型別的最大可能長度。VARCHAR需要定義大小,有255的最大限制;TEXT則不需要。如果你把一個超過列型別最大長度的值賦給一個BLOB或TEXT列,值被截斷以適合它。
CHAR(n) 固定長度,最多 255 個字元
VARCHAR(n) 可變長度,MySQL 4.1 及以前最大 255 字元,MySQL 5 之後最大 65535 位元組
TINYTEXT 可變長度,最多 255 個字元
TEXT 可變長度,最多 65535 個字元
MEDIUMTEXT 可變長度,最多 16777215(2^24 – 1)個字元
LONGTEXT 可變長度,最多 4294967295(2^32 – 1)(4G)個字元
2、MSSQL存在text、ntext和image:
ntext:
可變長度 Unicode 資料的最大長度為 230 – 1 (1,073,741,823) 個字元。儲存大小是所輸入字元個數的兩倍(以位元組為單位)。ntext 在 SQL-92 中的同義詞是 national text。
text:
伺服器內碼表中的可變長度非 Unicode 資料的最大長度為 231-1 (2,147,483,647) 個字元。當伺服器內碼表使用雙位元組字元時,儲存量仍是 2,147,483,647 位元組。儲存大小可能小於 2,147,483,647 位元組(取決於字串)。
image:
在 Image 資料型別中儲存的資料是以位字串儲存的,不是由 SQL Server 解釋的,必須由應用程式來解釋。例如,應用程式可以使用 BMP、TIEF、GIF 和 JPEG 格式把資料儲存在 Image 資料型別中。
本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/sm_crystal/archive/2008/12/02/3428757.aspx
(1)相同
在TEXT或BLOB列的儲存或檢索過程中,不存在大小寫轉換,當未執行在嚴格模式時,如果你為BLOB或TEXT列分配一個超過該列型別的最大長度的值值,值被擷取以保證適合。如果截掉的字元不是空格,將會產生一條警告。使用嚴格SQL模式,會產生錯誤,並且值將被拒絕而不是擷取並給出警告.
BLOB和TEXT列不能有 預設值.
當儲存或檢索BLOB和TEXT列的值時不刪除尾部空格。(這與VARBINARY和VARCHAR列相同).
對於BLOB和TEXT列的索引,必須指定索引字首的長度。對於CHAR和VARCHAR,字首長度是可選的.
(2)相異
text :
TEXT值是大小寫不敏感的
Text被視為非二進位制字串
TEXT列有一個字符集,並且根據字符集的 校對規則對值進行排序和比較
可以將TEXT列視為VARCHAR列
MySQL連線程式/ODBC將TEXT值定義為LONGVARCHAR
BLOB 可以儲存圖片,TEXT不行,TEXT只能儲存純文字檔案。4個TEXT型別TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT對應於4個BLOB型別,並且有同樣的最大長度和儲存需求。
blob:
BLOB值的排序和比較以大小寫敏感方式執行;
BLOB被視為二進位制字串;
BLOB列沒有字符集,並且排序和比較基於列值位元組的數值值。
在大多數方面,可以將BLOB列視為能夠足夠大的VARBINARY列
MySQL連線程式/ODBC將BLOB值定義為LONGVARBINARY
一個BLOB是一個能儲存可變數量的資料的二進位制的大物件。4個BLOB型別TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB僅僅在他們能儲存值的最大長度方面有所不同。
(3)其他:
VARCHAR,BLOB和TEXT型別是變長型別,對於其儲存需求取決於列值的實際長度(在前面的表格中用L表示),而不是取決於型別的最大可能尺寸。例如,一個VARCHAR(10)列能儲存最大長度為10個字元的一個字串,實際的儲存需要是字串的長度 ,加上1個位元組以記錄字串的長度。對於字串`abcd`,L是4而儲存要求是5個位元組。
BLOB和TEXT型別需要1,2,3或4個位元組來記錄列值的長度,這取決於型別的最大可能長度。VARCHAR需要定義大小,有255的最大限制;TEXT則不需要。如果你把一個超過列型別最大長度的值賦給一個BLOB或TEXT列,值被截斷以適合它。
CHAR(n) 固定長度,最多 255 個字元
VARCHAR(n) 可變長度,MySQL 4.1 及以前最大 255 字元,MySQL 5 之後最大 65535 位元組
TINYTEXT 可變長度,最多 255 個字元
TEXT 可變長度,最多 65535 個字元
MEDIUMTEXT 可變長度,最多 16777215(2^24 – 1)個字元
LONGTEXT 可變長度,最多 4294967295(2^32 – 1)(4G)個字元
2、MSSQL存在text、ntext和image:
ntext:
可變長度 Unicode 資料的最大長度為 230 – 1 (1,073,741,823) 個字元。儲存大小是所輸入字元個數的兩倍(以位元組為單位)。ntext 在 SQL-92 中的同義詞是 national text。
text:
伺服器內碼表中的可變長度非 Unicode 資料的最大長度為 231-1 (2,147,483,647) 個字元。當伺服器內碼表使用雙位元組字元時,儲存量仍是 2,147,483,647 位元組。儲存大小可能小於 2,147,483,647 位元組(取決於字串)。
image:
在 Image 資料型別中儲存的資料是以位字串儲存的,不是由 SQL Server 解釋的,必須由應用程式來解釋。例如,應用程式可以使用 BMP、TIEF、GIF 和 JPEG 格式把資料儲存在 Image 資料型別中。
本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/sm_crystal/archive/2008/12/02/3428757.aspx
相關文章
- BLOB(二進位制大物件:text、ntext或image)型別資料的操作物件型別
- mysql的text/blob和行溢位MySql
- SQL Server 2005 'Text,nText,image'資料型別SQLServer資料型別
- ORACLE和MSSQL中行鎖比較OracleSQL
- SQL Server 中ntext, text, image長度計算 - datalength 函式SQLServer函式
- mysql BLOB型別 TEXT型別MySql型別
- MySQL 中 blob 和 text 資料型別詳解MySql資料型別
- Flutter之Text和ImageFlutter
- MongoDB和MySQL比較MongoDBMySql
- ATOM & Sublime Text 下MarkDown外掛功能比較
- MySQL中的NULL和空串比較MySqlNull
- MySQL中TEXT與BLOB欄位型別的區別MySql型別
- Mysql BLOB、BLOB與TEXT區別及效能影響、將BLOB型別轉換成VARCHAR型別MySql型別
- MySQL 中的 distinct 和 group by 的效能比較MySql
- IIS下PHP的ISAPI和FastCGI比較PHPAPIAST
- 與MSSQL對比學習MYSQL的心得MySql
- 360°全方位比較PostgreSQL和MySQLMySql
- Mysql中的Datetime和Timestamp比較MySql
- SAP CRM和Cloud for Customer裡的Formatted Text控制元件的比較CloudORM控制元件
- 大資料量下MySQL插入方法的效能比較大資料MySql
- MySQL 的 timestamp 和 datetime 型別比較MySql型別
- MYSQL和ORACLE時區設定比較MySqlOracle
- js 深比較和淺比較JS
- shell 下的字串比較字串
- PostgreSQL與MySQL的比較 - hackrMySql
- 使用perl比較mysql的版本MySql
- linux下execl函式的使用和比較Linux函式
- PostgreSQL與MySQL比較MySql
- 資料庫系列:MySQL引擎MyISAM和InnoDB的比較資料庫MySql
- Zope的優點和Apache+PHP+MySQL的比較(轉)ApachePHPMySql
- 在MongoDB下使用JS和Python的效能比較MongoDBJSPython
- ejb 和 javabean的比較JavaBean
- 索引的分析和比較索引
- ImageMagic 和 GraphicsMagick 的比較
- shell下數字和字串比較操作命令字串
- Go和Python比較的話,哪個比較好?GoPython
- MySQL:MySQL層比較函式呼叫MySql函式
- ORACLE11.2.0.3和MYSQL5.6 DDL比較OracleMySql