gbase 导出_gbase 通过 gccli 命令客户端导出数据到文件
@font-face{font-family:“Times New Roman”;} @font-face{font-family:“宋體”;} @font-face{font-family:“Calibri”;} @font-face{font-family:“幼圓”;} p.MsoNormal{mso-style-name: 正文; mso-style-parent:““; margin:0pt; margin-bottom:.0001pt; mso-pagination:none; text-align:justify; text-justify:inter-ideograph; font-family:Calibri; mso-fareast-font-family: 宋體; mso-bidi-font-family:‘Times New Roman’; font-size:10.5000pt; mso-font-kerning:1.0000pt;} span.msoIns{mso-style-type:export-only; mso-style-name:””; text-decoration:underline; text-underline:single; color:blue;} span.msoDel{mso-style-type:export-only; mso-style-name:""; text-decoration:line-through; color:red;} @page{mso-page-border-surround-header:no; mso-page-border-surround-footer:no;}@page Section0{margin-top:72.0000pt; margin-bottom:72.0000pt; margin-left:90.0000pt; margin-right:90.0000pt; size:595.3000pt 841.9000pt; layout-grid:15.6000pt;} div.Section0{page:Section0;}
示例:
以 gbase 用戶身份,登陸集群節(jié)點(diǎn) 192.168.10.115
$ gccli –no-defaults -ugbase -pgbase -h192.168.10.115
注意:–no-defaults 參數(shù)必須緊跟 gccli 命令,即作為 gccli 命令的第一個(gè)參數(shù)。
查詢結(jié)果導(dǎo)出注意事項(xiàng)
注意事項(xiàng): rmt:?與 select_syntax 之間不能有空格。
示例:
可正確導(dǎo)出數(shù)據(jù)的語(yǔ)句: rmt:SELECT * FROM cust INTO OUTFILE ‘/home/gbase/temp/cust.txt’;
會(huì)報(bào)語(yǔ)法錯(cuò)誤的語(yǔ)句: rmt: SELECT * FROM cust INTO OUTFILE ‘/home/gbase/temp/cust.txt’; file_path,以及 FIELD_OPTION 中的字段分隔符,字段包圍符,轉(zhuǎn)義標(biāo) 識(shí)符等均必須用單引號(hào)?’?包圍,否則無法正常導(dǎo)出數(shù)據(jù)。
示例:
可正確導(dǎo)出數(shù)據(jù)的語(yǔ)句: rmt:SELECT * FROM cust INTO OUTFILE ‘/home/gbase/temp/cust.txt’; 會(huì)報(bào)語(yǔ)法錯(cuò)誤的語(yǔ)句: rmt:SELECT * FROM cust INTO OUTFILE /home/gbase/temp/cust.txt;
遠(yuǎn)程導(dǎo)出不支持頂層查詢是 UNION 類查詢。
示例:
rmt:SELECT * FROM cust UNION SELECT * FROM product INTO OUTFILE ‘/home/gbase/temp/product.txt’; ERROR 1149 (42000): (GBA-02SC-1001) SELECT INTO OUTFILE with UNION is not supported.
遠(yuǎn)程導(dǎo)出的目標(biāo)文件如果已經(jīng)在本地存在,則不能通過 select @@error_count 來獲得錯(cuò)誤數(shù),原因?yàn)槲募欠翊嬖谟煽蛻舳伺袛?#xff0c;而 @@error_count 是服務(wù)端變量。
示例:
gbase> create table t(id int);
Query OK, 0 rows affected
gbase> insert into t values(1);
Query OK, 1 row affected
gbase> rmt:select * from t into outfile ‘/home/gbase/t.txt’;
Query OK, 1 row affected
gbase> rmt:select * from t into outfile ‘/home/gbase/t.txt’;
ERROR: File ‘/home/gbase/t.txt’ already exists
gbase> select @@error_count;
+—————+
| @@error_count |
+—————+
| 0 |
+—————+
1 row in set
查詢結(jié)果導(dǎo)出示例
不指定字段分隔符
示例中用到的表及數(shù)據(jù):
DROP TABLE IF EXISTS cust;
CREATE TABLE cust(c_id INT, c_name VARCHAR(20), c_addr VARCHAR(100));
INSERT INTO cust VALUES (1, ‘xiaoming’, ‘Tianjin’);
INSERT INTO cust VALUES (3, ‘qiaorui’, ‘Hebei’);
INSERT INTO cust VALUES (4, ‘tianfei’, ‘Anhui’);
INSERT INTO cust VALUES (2, ‘zhangling’, ‘Hunan’);
示例 1:
不指定字段分隔符,即使用默認(rèn)字段分隔符?\t?。
gbase> rmt:SELECT * FROM cust INTO OUTFILE ‘/home/gbase/temp/cust.txt’;
Query OK, 4 rows affected
查看導(dǎo)出文件:
$ cat cust.txt 1
xiaoming Tianjin 3 qiaorui Hebei 4 tianfei Anhui 2 zhangling Hunan
指定字段分隔符
示例中用到的表及數(shù)據(jù):
DROP TABLE IF EXISTS cust;
CREATE TABLE cust(c_id INT, c_name VARCHAR(20), c_addr VARCHAR(100));
INSERT INTO cust VALUES (1, ‘xiaoming’, ‘Tianjin’);
INSERT INTO cust VALUES (3, ‘qiaorui’, ‘Hebei’);
INSERT INTO cust VALUES (4, ‘tianfei’, ‘Anhui’);
INSERT INTO cust VALUES (2, ‘zhangling’, ‘Hunan’);
示例 1:
指定字段分隔符為?,
gbase> rmt:SELECT * FROM cust INTO OUTFILE ‘/home/gbase/temp/cust.txt’ FIELDS TERMINATED BY ‘,’; Query OK, 4 rows affected
查看導(dǎo)出文件:
$ cat cust.txt
1,xiaoming,Tianjin
3,qiaorui,Hebei
4,tianfei,Anhui
2,zhangling,Hunan
示例 2:
指定字段分隔符為?;
gbase> rmt:SELECT * FROM cust INTO OUTFILE ‘/home/gbase/temp/cust.txt’ FIELDS TERMINATED BY ‘;’;
Query OK, 4 rows affected
查看導(dǎo)出文件:
$ cat cust.txt
1;xiaoming;Tianjin
3;qiaorui;Hebei
4;tianfei;Anhui
2;zhangling;Hunan
指定字段包圍符為?"?
示例中用到的表及數(shù)據(jù):
DROP TABLE IF EXISTS cust;
CREATE TABLE cust(c_id INT, c_name VARCHAR(20), c_addr VARCHAR(100));
INSERT INTO cust VALUES (1, ‘xiaoming’, ‘Tianjin’);
INSERT INTO cust VALUES (3, ‘qiaorui’, ‘Hebei’);
INSERT INTO cust VALUES (4, ‘tianfei’, ‘Anhui’);
INSERT INTO cust VALUES (2, ‘zhangling’, ‘Hunan’);
gbase> rmt:SELECT * FROM cust INTO OUTFILE ‘/home/gbase/temp/cust.txt’ FIELDS TERMINATED BY ‘;’ ENCLOSED BY ‘"’;
Query OK, 4 rows affected
查看導(dǎo)出文件:
$ cat cust.txt
“1”;“xiaoming”;“Tianjin”
“3”;“qiaorui”;“Hebei”
“4”;“tianfei”;“Anhui”
“2”;“zhangling”;“Hunan”
指定轉(zhuǎn)義符為“g”
示例中用到的表及數(shù)據(jù):
DROP TABLE IF EXISTS product;
CREATE TABLE product (p_id INT, p_name VARCHAR(20), p_desc VARCHAR(100));
INSERT INTO product VALUES (1, ‘qianzi’, ‘qianzi\qianzi’);
INSERT INTO product VALUES (2, ‘bandeng’, ‘ban"deng’);
INSERT INTO product VALUES (4, ‘jiandao’, ‘Hei;bei’);
INSERT INTO product VALUES (3, ‘chazi’, ‘Anh\nui’);
INSERT INTO product VALUES (5, ‘canzhuo’, ‘Hunan’);
gbase> SELECT * FROM product;
+——+———+—————+
| p_id | p_name | p_desc |
+——+———+—————+
| 1 | qianzi | qianzi\qianzi |
| 2 | bandeng | ban"deng |
| 4 | jiandao | Hei;bei |
| 3 | chazi |?ui |
| 5 | canzhuo | Hunan |
+——+———+—————+
5 rows in set
gbase> rmt:SELECT * FROM product INTO OUTFILE ‘/home/gbase/temp/product.txt’ FIELDS TERMINATED BY ‘;’ ESCAPED BY ‘g’;
Query OK, 5 rows affected
查看導(dǎo)出文件:
$ cat product.txt
1;qianzi;qianzi\qianzi
2;bandengg;ban"dengg
4;jiandao;Heig;bei
3;chazi;Anhg ui
5;canzhuo;Hunan
在示例中,“\”沒有被置為“g”,是因?yàn)橹付ㄆ渌址麨檗D(zhuǎn)義字符后, “\”不再被認(rèn)為是特殊字符。 “;”,“\n”均被置為轉(zhuǎn)義符“g”,表示數(shù)據(jù),而不是字段分隔符“;” 和行分隔符“\n”。 “g”也被前置轉(zhuǎn)義符“g”,因?yàn)椤癵”被指定為轉(zhuǎn)義符后,被作為特殊字符處理
總結(jié)
以上是生活随笔為你收集整理的gbase 导出_gbase 通过 gccli 命令客户端导出数据到文件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AT集团军会战小程序
- 下一篇: 微信自动挑选黑名单