Oracle数据库的大对象LOB

LOB大对象


LOB(large object)是一种用于存储大对象的数据类型,如医学记录(如X-射线)、视频、图像等。


LOB有四种类型:


	BLOB:(Binary Large Object)二进制LOB类型,用于存储二进制数据;
	CLOB:(Character Large Object)字符LOB类型,用于存储字符数据;
	NCLOB:(Unicode national character Large Object)国家语言字符LOB类型,用于存储多字节字符数据(通常用于非英语字符);
	BFILE: 二进制FILE类型,用于存储文件指针,但是文件存储于数据库能访问的文件系统上(BFILE最大支持2TB的文件)。


LOB最大128TB。


实例:


1. 创建包含大对象的表


-- create the tables
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
);


2. 初始化CLOB和BLOB


使用EMPTY_CLOB()和EMPTY_BLOB()函数: 


CLOB:    INSERT INTO clob_content(id, clob_column) VALUES(1, EMPTY_CLOB());


BLOB:    INSERT INTO blob_content(id, blob_column) VALUES(1, EMPTY_BLOB());


3. 向CLOB和BLOB中添加内容


CLOB:    UPDATE clob_content SET clob_column = 'Hello world';


BLOC:    UPDATE blob_content SET blob_column = '1001111010101010111';


4. 使用BFILE


4.1  创建目录对象


     由于BFILE是存储在数据库之外,所以必须创建一个目录来存放文件。


-- create the BFILE directory
CREATE OR REPLACE DIRECTORY SAMPLE_FILES_DIR AS 'C:\sample_files';


4.2  用文件指针填充BFILE列


INSERT INTO bfile_content(id, bfile_column) VALUES(1, BFILENAME('SAMPLE_FILES_DIR', '123.txt'));


INSERT INTO bfile_content(id, bfile_column) VALUES(2, BFILENAME('SAMPLE_FILES_DIR', 'test.rmvb'));


INSERT INTO bfile_content(id, bfile_column) VALUES(3, BFILENAME('SAMPLE_FILES_DIR', 'temp.doc'));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值