大对象LOB(Large OBject)
用于存储二进制数据、字符数据和对文件的引用,LOB最多可以存储128TB的数据,这取决于数据库的配置。
一.理解大对象的类型
大对象类型:
- CLOB:字符LOB类型,用于存储字符数据。
- NCLOB:用于存储多字节字符数据(通常用于非英语字符)。
- BLOB:二进制LOB类型,用于存储二进制数据。
- BFILE:二进制FILE类型,用于存储指向文件的指针,这些文件可以存储于硬盘、CD等。(只有定位器存储在表中,定位器指向文件系统中存储的外部文件)
LOB由两部分组成:
- LOB定位器:一个指针,指定LOB数据的位置。
- LOB数据:存储在LOB中的实际字符或字节数据
如果数据小于4KB,就存储在表内,否则,存储在表外。
二.创建包含大对象的表
create table clob_content (
id integer primary key,
clob_column clob not null
);
create table blob_content (
id integer primary key,
blob_column blob not null
);
create table bfile_content (
id integer primary key,
bfile_column bfile not null
);
三.在SQL中使用大对象
使用CLOB和BLOB对象
1.用数据填充clob和blob对象
insert into clob_content (id, clob_column)
values(1, TO_CLOB('Creeps in this petty pace'));
insert into blob_content (id, blob_column)
values(1, TO_BLOB('100111010101011111'));
2.从clob对象检索数据
select * from clob_content;
ID CLOB_COLUMN
-----------------------------
1 Creeps in this petty pace
select * from blob_content;
ID BLOB_COLUMN
----------------------
1 100111010101011111