`
zpball
  • 浏览: 910626 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

MySQL和MSSQL下,text 、ntext、 image、blob的比较

 
阅读更多
1、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 数据的最大长度为 2^30 - 1 (1,073,741,823) 个字符。存储大小是所输入字符个数的两倍(以字节为单位)。ntext 在 SQL-92 中的同义词是 national text。
text:
服务器代码页中的可变长度非 Unicode 数据的最大长度为 2^31-1 (2,147,483,647) 个字符。当服务器代码页使用双字节字符时,存储量仍是 2,147,483,647 字节。存储大小可能小于 2,147,483,647 字节(取决于字符串)。
image:
在 Image 数据类型中存储的数据是以位字符串存储的,不是由 SQL Server 解释的,必须由应用程序来解释。例如,应用程序可以使用 BMP、TIEF、GIF 和 JPEG 格式把数据存储在 Image 数据类型中。
分享到:
评论

相关推荐

    与MSSQL对比学习MYSQL的心得(四)–BLOB数据类型

    在 MSSQL 中,没有直接对应的 BLOB 数据类型,但它提供了大型对象(LOB)数据类型,如 text、ntext、image、nvarchar(max)、varchar(max) 和 varbinary(max)。其中,text 和 ntext 用于存储非二进制文本,image 则...

    如何在SQL Server 2000中处理text/image数据.pdf

    - 在SQL Server 2000中,BLOB被用来泛指text、ntext以及image类型的数据。 6. 处理text/image数据的注意事项和建议: - 在使用text、ntext、image数据类型时,需要考虑到排序规则和编码问题,尤其是当存储的数据...

    SQL Server 中 text或ntext 字段内容替换方法

    在不确定text或ntext字段长度的时候 SQL Server 中 text或ntext 字段内容替换方法

    mssql查找备注(text,ntext)类型字段为空的方法

    在SQL Server中,`text`和`ntext`数据类型是用来存储大文本数据的,它们与常规的字符串数据类型如`varchar`或`nvarchar`有所不同。当你试图像处理普通字符字段那样直接用`=`操作符来检查`text`或`ntext`字段是否为空...

    与MSSQL对比学习MYSQL的心得(四)--BLOB数据类型

    这与TEXT数据类型形成对比,TEXT类型有字符集,排序和比较会考虑到字符集的规则。 相比之下,SQL Server并没有单独的BLOB数据类型,而是通过一系列的LOB数据类型来实现类似的功能: 1. text和ntext:分别用于存储...

    php读取mssql的ntext字段返回值为空的解决方法

    2. **配置PHP**:如果不能修改数据库表结构,可以在php.ini配置文件中调整mssql.textlimit和mssql.textsize的值。这两个参数分别限制了从ntext字段读取的最大字符数。默认值可能太小,导致无法完整读取ntext内容。将...

    oracle mysql sqlser2000对大数据对象的操作

    它提供了IMAGE数据类型来存储二进制数据,以及TEXT和NTEXT数据类型存储长文本数据。然而,由于SQL Server 2000已不再得到官方支持,开发者通常会倾向于使用更新的版本,如SQL Server 2012或更高版本,这些版本引入了...

    关于在SQL Server数据库系统中存取BLOB数据的探讨.pdf

    BLOB数据的存储需要使用特殊的数据类型,例如text、ntext或image数据类型。这些数据类型可以存储长度不确定的二进制数据,最大长度可达2GB。 此外,笔者还讨论了高职高专院校教育的特点和需求。在开发网络教学资源...

    MSSQL数据库获取TEXT字段的内容长度

    对于TEXT、IMAGE、VARBINARY、nvarchar和ntext这些可变长度的数据类型,DATALENGTH函数尤其适用。 例如,假设我们有一个名为`articles`的表,其中有一个TEXT类型的字段`content`,我们可以这样获取第一条记录的`...

    深入char、varchar、text和nchar、nvarchar、ntext的区别详解

    在数据库设计中,选择正确的字符串数据类型至关重要,因为它直接影响到数据存储的...而`TEXT`和`NTEXT`已过时,不推荐在新的设计中使用。在选择时,应根据数据特性、存储需求以及预期的查询操作来平衡效率和空间占用。

    查询条件是text的解决办法-sql sql text 数据类型为text解决办法

    在MSSQL 2005之前,`text`、`ntext`和`image`等数据类型被广泛使用。为了更好地兼容性和性能,`text`和`ntext`分别被`varchar(max)`和`nvarchar(max)`所替代,而`image`则被`varbinary(max)`替代。这意味着在进行...

    浅谈如何使用SQL中的image和text数据.pdf

    在实际操作中,如果需要将外部文件如图像或文本导入SQL数据库的相应列,或者将SQL表中的text、ntext和image类型的数据导出到特定格式的文件中,传统的SQL语句就无法满足需求了。此时,可以使用一些特殊的命令来实现...

    从mysql数据库迁移至sqlserver数据库

    这是因为`text`在MySQL中默认编码可能与SQL Server的`ntext`类型不同。因此,建议在迁移前将MySQL中的`text`类型数据转换为`varchar(10000)`,确保其能在SQL Server中正确表示并避免乱码问题。迁移后,SQL Server会...

    sql server替换textntext类型字段的值

    因此,要替换 text/ntext 类型字段的值,我们需要使用特殊的函数和语句来操作指针和文本数据。 在给定的代码中,我们使用了游标来遍历表中的所有行,然后使用 WHILE 循环来查找和替换文本字段中的值。首先,我们...

    SQLServer和MySql语法和关键字的区别详解

    2. **字符类型**: SQLServer 支持 `nchar`, `nvarchar`, 和 `ntext` 这些 Unicode 字符类型,MySQL 不支持这些类型,而是使用 `char`, `varchar`, 和 `text` 类型来处理字符数据。 3. **自动增长字段**: MySQL 使用 ...

    SQL常见问题.txt

    SQL常见问题

    MSSQL中所有字段类型的区别

    一、char、varchar、text 和 nchar、nvarchar、ntext 的区别 char、varchar、text 是用于存储字符串类型的数据,而 nchar、nvarchar、ntext 是用于存储 Unicode 字符串类型的数据。 1. char char 类型用于存储定...

    MSSQL_JDBC所需的jar包(msbase,mssqlserver,msutil)

    此外,它还可能包含对SQL Server特定类型(如image、text、ntext、datetimeoffset等)的支持,以及针对MSSQL特定功能如游标、事务管理、存储过程的实现。 最后,msutil.jar通常包含一些实用工具类和辅助功能,为...

Global site tag (gtag.js) - Google Analytics