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'));
Oracle数据库的大对象LOB
最新推荐文章于 2023-05-18 18:16:07 发布