ORACLE/MYSQL中CLOB和BLOB数据类型的区别
fullstacker 发布于 2021-02-16

在本文中,我们将探讨Oracle/MYSQL中CLOB和BLOB数据类型之间的区别。我们还将了解每个数据类型的描述,以及如何使用这些数据类型在表中创建属性。

因此,CLOB和BLOB是大型对象数据类型(LOB)的类型。LOB是一组数据类型,用于存储或保存大量数据,以便有效地访问和操作数据。要了解有关大型对象的更多信息,请参阅Oracle文档


CLOB

CLOB代表字符大对象。它是一种内置数据类型,用于存储可变长度的大型文本数据,最多可容纳2147483647字节的字符,即最长可达2 GB。它可以存储单字节或多字节字符流。CLOB数据类型使用java.sql.Clob文件Java中jdbcapi的接口。JDBC中的CLOB对象持有一个指向sqlclob的逻辑指针。换句话说,对象指向数据的位置,而不是保存其字符数据。

Oracle中的CLOB数据类型属性:

 Column_Name CLOB
注意:在声明属性时,我们不需要指定CLOB大小,默认大小为2147483647。
MYSQL只支持使用TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT的CLOB数据类型属性。
例子

 Column_Name LONGTEXT
BLOB

BLOB代表Binary Large Object,这是一种内置数据类型,用于以二进制流的形式存储大数据,最大长度为65535字节或64 KB。它通常存储非传统的数据,如文件,包括语音、图像和混合数据等java.sql.BlobJava中jdbcapi的接口。JDBC中的BLOB对象持有一个指向SQL BLOB的逻辑指针,即该对象指向数据的位置,而不是持有其二进制数据。

在ORACLE和MYSQL中,BLOB数据类型定义为:

Column_Name BLOB

但是,MYSQL也支持具有以下数据类型的BLOB:TINYBLOB、MEDIUMBLOB和LONGBLOB。
现在,让我们看看在ORACLE中创建表时,这些数据类型如何适应模式。

CREATE TABLE BOOK_DETAILS
(
Book_Id NUMBER,
About_Book CLOB,
Book_Logo BLOB
);
BOOK_DETAILS表的属性About_Book 包含关于一本书的描述,这可能需要大量的文本数据,因此在这种情况下,更适合使用CLOB和field Book_Logo存储图书徽标,这是一种图像资源,因此BLOB数据类型与此字段匹配。
在MYSQL中实现如下:
CREATE TABLE BOOK_DETAILS
(
Book_Id NUMBER,
About_Book LONGTEXT,
Book_Logo BLOB
);
CLOB和BLOB的区别

现在,让我们看看这两者之间的一些关键区别,并对它们进行比较

CLOB

BLOB

1.Character Large Object的缩写.

1.Binary Large Object

2.此数据类型以字符流的形式存储大型文本数据,最大长度为2147483647个字符字节,即最大长度为2GB

2此数据类型以二进制或位流的形式存储大型二进制数据,最大长度为65535个字符或64 KB

3.主要用于存储文本文件、PDF文档等带有文本信息的文件。

3. 通常存储包括图像、视频、音频文件等媒体数据的文件。

4.Oracle使用CLOB支持此数据类型,而MYQL仅使用文本类型的别名支持此数据类型,例如:

TINYTEXT

MEDIUMTEXT

LONGTEXT

4.OracleMYSQL都支持在字段名后面使用BLOB的数据类型。然而,MYSQL也有各种实现,例如:

TINYBLOB

MEDIUMBLOB

LONGBLOB

5.JDBCAPI中作为java.sql.Clob文件接口并使用SQL定位器实现。

5.JDBCAPI中作为java.sql.Blob接口并使用SQL定位器实现。




全栈者
关注 私信
文章
31
关注
0
粉丝
0