达梦数据库对大对象类型的支持(clob、blob)

预置条件:

  1. 环境:达梦数据库已启动
  2. 数据库服务器创建/opt/bigdata目录,拷贝1.txt,2.png文件至该目录下;修改目录权限 :chown -R dmdba:dinstall /opt/bigdata

--创建大字段表

drop table if exists bigdata_test;

create table bigdata_test(filename varchar,file1 clob,png blob);

                            

create or replace directory images as '/opt/bigdata/';

insert into   bigdata_test values ('1',null,null);                      

--执行以下语句读取文件,进行更新

declare

 l_bfile bfile;

 l_bfile2 bfile;

 l_blob blob;

 l_clob clob;

begin

 update bigdata_test set png=empty_blob() where filename=1;

 update bigdata_test set file1=empty_clob() where filename=1;

 select png into l_blob from bigdata_test where filename=1;

 l_bfile:=bfilename('IMAGES','2.png');

 dbms_lob.open(l_bfile,dbms_lob.file_readonly);

 dbms_lob.loadfromfile(l_blob,l_bfile,dbms_lob.getlength(l_bfile));

 dbms_lob.close(l_bfile);

 select file1 into l_clob from bigdata_test where filename=1;

 l_bfile2:=bfilename('IMAGES','1.txt');

 dbms_lob.open(l_bfile2,dbms_lob.file_readonly);

 dbms_lob.LOADCLOBFROMFILE(l_clob,l_bfile2,dbms_lob.getlength(l_bfile2),1,1,0,1,1);

 dbms_lob.close(l_bfile2);

 commit;

end;

--查看数据

select *from bigdata_test;

 

 

### 达梦数据库支持的数据类型列表 #### 数值类型 数值类型的定义用于存储各种形式的数字数据。常见的数值类型包括整数型和浮点型。 - `INT` 或者 `INTEGER`: 存储整数值。 - `SMALLINT`: 小范围整数。 - `BIGINT`: 大范围整数。 - `FLOAT(precision)`: 浮点数,其中 precision 表示有效位数。 - `DOUBLE PRECISION`: 双精度浮点数[^1]。 #### 字符串类型 字符串类型用来保存字符序列,如文本信息等。 - `VARCHAR2(size)`:可变长度字符串,最大长度由 size 参数指定;此类型是为了与 Oracle 兼容而设置的。 - `CHAR(size)`:固定长度字符串,默认大小为 1。 - `LONG`:大对象,可以存储大量的文本数据。 - `CLOB`:字符大对象,适合存储非常大的文本块。 #### 日期/时间类型 这些类型专门设计来处理日期和时间的信息。 - `DATE`:仅包含日期部分,精确度达到天级别。 - `TIME`:表示一天中的某个时刻,能够记录到毫秒级。 - `DATETIME` 或 `TIMESTAMP`:同时包含了完整的日期和时间信息,具有更高的时间分辨率[^3]。 ```sql CREATE TABLE tab_date ( date1 DATE, time1 TIME, datetime1 DATETIME ); INSERT INTO tab_date VALUES ('2020-01-01', '16:22:57', TO_DATE('2020-1-1 16:22:57', 'YYYY-MM-DD HH24:MI:SS')); SELECT * FROM tab_date; ``` #### 二进制类型 当需要存储非结构化的二进制数据时会用到这类数据类型。 - `BLOB`:二进制大对象,适用于图像、音频文件等内容的大容量存储。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值