原文链接:https://www.gbase.cn/community/post/4953
更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。
gccli参数说明 -c, --comments保留注释内容,默认情况下注释内容不会发送到server端,通过-c参数可以将注释内容也发送给server端。
-D, --database=name指定默认使用的数据库 -d后面跟数据库名。
比如指定 -D test
后续查询test库下t1表的内容,可以省略数据库写成:
select * from t1;
-e, --execute=name执行SQL语句并返回shell命令行。
展开剩余90%-e后面跟SQL语句,比如
gccli -utest -ptest -e"select * from test.t1"
-f, --force强制执行模式,当执行多条SQL时,如果遇到错误后,后续没有执行的SQL不再执行,通过指定-f参数可以继续执行后面的SQL
如:3条SQL, "select 1;select;select 2"
其中select 1和select 2均可以正常执行,中间的select是无法正常执行的。
gccli -utest -ptest -e"select 1;select;select2"
+---+
1 |
+---+
1 |
+---+
ERROR 1064 (42000) at line1: You have an error in your SQL syntax; check the manual that corresponds to your GBase server version for the right syntax to use near'' at line 1
不加-f可以看到第二条语句执行后报错,select 2并没有执行;
gccli -utest -ptest -e"select 1;select;select2" -f
+---+
1 |
+---+
1 |
+---+
ERROR 1064 (42000) at line1: You have an error in your SQL syntax; check the manual that corresponds to your GBase server version for the right syntax to use near'' at line 1
+---+
2 |
+---+
2 |
+---+
指定-f参数后,第二条语句报错后,后续的第3条select 2仍然执行了。
-h, --host=name指定连接的数据库服务器的主机名或者IP,默认不写连接的是本机127.0.0.1。
如,连接指定IP 192.168.200.102的数据库:
gccli -utest -ptest -h 192.168.200.102
-N, --skip-column-names默认的查询会在开头处显示字段名,通过-N参数可以屏蔽字段名。
如:
gccli -e"select 1 as c1"
+----+
c1 |
+----+
1 |
+----+
可以看到结果输出中开头处显示了字段名c1
gccli -e"select 1 as c1" -N
+---+
1 |
+---+
指定-N参数后,开头字段名部分被屏蔽。
-p, --password[=name]指定连接数据库时的用户密码。
如果只是-p后面没有指定密码,则进入互动模式,提示需要输入密码后才能登录数据库,如:
gccli -utest -p
Enter password:
GBase client 9.5.1.10.105121.Copyright (c) 2004-2020,GBase. All Rights Reserved.
gbase>
也可以-p后面直接跟密码,需要注意-p和密码间不要有空格,如:
gccli -utest -ptest
GBase client 9.5.1.10.105121.Copyright (c) 2004-2020,GBase. All Rights Reserved.
gbase>
注意:如果密码中含有!$等特殊字符时,通过交互模式输入是可以正常进行的,如果是-p跟密码的模式时,可能会出现密码错误等提示,这时候需要使用单引号包围密码登录数据库
如:test用户,密码是1$test
gccli -utest -p1$test
ERROR 1045 (28000):Access denied for user 'test'@'127.0.0.1'(using password:YES)
GBase client 9.5.1.10.105121.Copyright (c) 2004-2020,GBase. All Rights Reserved.
直接使用-p后跟密码1$test会出现密码错误的报错提示
gccli -utest -p'1$test'
GBase client 9.5.1.10.105121.Copyright (c) 2004-2020,GBase. All Rights Reserved.
gbase>
使用单引号包围密码后就可以正常登录了。
-P, --port通过-P参数指定连接的数据库端口号,不指定时默认的端口号是从集群配置文件gbase_8a_gcluster.cnf读取的,默认是5258。
如指定5258端口访问数据库:
gccli -utest -pest -h192.168.200.102 -P5258
-q, --quick结果快速返回模式,不缓存查询结果,服务器端返回结果后,客户端直接一行一行进行打印。
-s, --silent安静模式,打印出的结果会尽可能的少,去除了生成表格的字符,字段间通过制表符分隔。
如:
gccli -e"select 1 as a,2 as b"
+---+---+
a | b |
+---+---+
1 | 2 |
+---+---+
默认情况下,会通过字符生成表格包围结果。
gccli -e"select 1 as a,2 as b" -s
a b
1 2
指定-s参数后,不再生成表格,字段间通过制表符分隔。
-u, --user=name指定连接数据库时的用户。
如,使用gbase用户连接数据库:
gccli -ugbase -p
-v, --verbose详细模式,使得屏幕打印更多的输出信息。可以使用-vvv来显示最详细的输出信息,包括SQL语句、行数以及执行时间等
gccli -utest -e"select 1"
+---+
1 |
+---+
1 |
+---+
默认模式下,结果只显示字段名和字段值。
gccli -utest -ptest -e"select 1" -vvv
-----------
select 1
-----------
+---+
1 |
+---+
1 |
+---+
1 row in set (Elapsed:00:00:00.00)
Bye
指定-vvv参数后,打印出了语句、行数以及执行时间等信息。
-V, --version查看gccli客户端的版本信息。
如:
gccli -V
gccli ver 9.5.1.10.105121,for unknown-linux-gnu (x86_64) using readline 6.3
原文链接:https://www.gbase.cn/community/post/4953
更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。
发布于:天津市