KingbaseES 匯入匯出blob列資料

2022-09-22 02:06:08 字數 1670 閱讀 9293

kingbasees相容了oracle的blob資料型別。通常是用來儲存二進位制形式的大資料,也可以用來儲存其他型別的資料。

下面來驗證一下各種資料儲存在資料庫中形式。

建表create table t1 (id number, file blob);

插入資料

insert into t1 values (1,''',\\as123哈哈');

insert into t1 values (2,blob_import('/home/kbc5/ksql.log'));

insert into t1 values (3,blob_import('/home/kbc5/tp.gif'));

檢視資料

可以看出英文,數字,符號未做轉換直接存入資料庫中,中文,檔案,轉換為不可讀內容存放在資料庫中。

那是否有方法可以讀取原本可讀的資料內容呢?

可以通過

1.convert_from 函式將資料翻譯為可讀內容(除外)。

2.blob_export 函式將blob的內容匯出到本地進行讀取。

test=# select convert_from(file,'utf8') from t1 ;

錯誤: 無效的 "utf8" 編碼位元組順序: 0xff

test=# select id, convert_from(file,'utf8') from t1 where id <> 3;

id | convert_from

----+----------------------------------------

1 | ',\as123哈哈

2 | 錯誤: 語法錯誤 在 "5" 或附近的 +

| 第1行insert into t2values (5,'xarte');+

| ^ +

|(2 行記錄)

test=# select blob_export(file,'/home/kbc5/dc1.gif') from t1 where id = 3;

blob_export

1
(1 行記錄)

函式執行結果1表示成功。進入目錄檢視檔案:

()

可以看到2個檔案一樣大。

test=# select blob_export(file,'/home/kbc5/dc2.txt') from t1 where id <> 3;

blob_export

1

1

(2 行記錄)

進入目錄看到只有乙個dc2.txt檔案,說明後面一行匯出的檔案會將前一行匯出的檔案覆蓋。

所以使用該函式進行操作時1個blob段需要指定乙個對應的檔案。

mysql 匯入匯出 mysql匯入匯出sql檔案

window下 1.匯出整個資料庫 mysqldump u 使用者名稱 p 資料庫名 匯出的檔名 mysqldump u dbuser p dbname dbname.sql 2.匯出乙個表 mysqldump u 使用者名稱 p 資料庫名 表名 匯出的檔名 mysqldump u dbuser p...

mysql匯入匯出教程 mysql匯入匯出資料方法

摘要 在平時的mysql應用中,總會碰到匯入資料,匯出資料,當然有很多方法,這篇文章,主要介紹應用mysqlmysqldump命令進行資料匯入匯出,希望對大家有所幫助。一 mysql匯入檔案或資料或執行相關sql mysql h主機位址 u使用者名稱 p使用者密碼 1.檔案形式。shell命令列 m...

mysql 匯入匯出命令 MySQL匯入匯出命令

1.匯出整個資料庫 mysqldump u 使用者名稱 p 資料庫名 匯出的檔名 2.匯出乙個表 mysqldump u 使用者名稱 p 資料庫名 表名 匯出的檔名 3.匯出乙個資料庫結構 d 沒有資料 add drop table 在每個create語句之前增加乙個drop table 4.匯入資...