一、ksql命令工具简介

  ksql是人大金仓提供给DBA的与KES数据库交互的命令行客户端程序。熟练使用ksql工具可以帮助DBA快速的操作和维护数据库。博文实验环境:

  • 操作系统:centos7.6
  • kingbase版本:V008R006C006B0021

二、ksql使用示例

1、获取命令帮助

[kingbase@s166 bin]$ ./ksql --help

2、指定用户登录test库

[kingbase@s166 bin]$ ./ksql -U system test
ksql (V8.0)
Type “help” for help.

test=#

3、强制要求输入密码

  经实践测试,通过默认local socket登录不需要输入密码,及时使用-W参数强制要求输入密码,实际上任意输入值都可以完成验证。

[kingbase@s166 bin]$ ./ksql -U system -W test
Password:
ksql (V8.0)
Type “help” for help.

test=#

4、指定数据库地址登录

  指定了-h参数后,无论我们是否使用-W参数都要求输入用户名密码完成验证才可以登录数据库。

[kingbase@s166 bin]$ ./ksql -U system -h 192.168.0.166 test
Password for user system:
ksql (V8.0)
Type “help” for help.

test=#

5、指定数据库监听端口地址登录

  如果kingbase数据库实例配置了指定端口,则客户端连接的时候需要使用-p参数指定数据库端口,kingbase数据库服务默认监听端口54321。

[kingbase@s166 bin]$ ./ksql -U system -h localhost -p 54321 test
Password for user system:
ksql (V8.0)
Type “help” for help.

test=#

6、查看数据库版本

[kingbase@s166 bin]$ ./ksql -V
ksql (Kingbase) V008R006C006B0021

7、查看数据库列表

[kingbase@s166 bin]$ ./ksql -U system -l
在这里插入图片描述

8、连接指定的数据库

[kingbase@s166 bin]$ ./ksql -U system -d booklist
ksql (V8.0)
Type “help” for help.

booklist=#

9、执行指定的sql脚本

[kingbase@s166 bin]$ echo “select connections;” >> /tmp/test.sql
[kingbase@s166 bin]$ ./ksql -U system -f /tmp/test.sql test
connections
-------------
7
(1 row)

10、显示执行的sql脚本中的命令

  使用-e参数显示执行的sql脚本中的命令
在这里插入图片描述

11、不显示登录信息

[kingbase@s166 bin]$ ./ksql -U system -q test
test=#

12、显示内部生产的查询命令

  如果我们需要了解内部产生的查询命令,可以使用-E参数,如下示例我们执行-l参数打印数据库列表,实际上执行的命令是select d.datname as “Name”…
在这里插入图片描述

13、将会话日志存储到指定文件

  使用-L命令指定将会话日志存储到指定路径。连接数据库后所有的操作都将记录下来。
在这里插入图片描述

14、将查询结果写入指定文件

  使用-o命令将ksql命令执行的查询结果存储到指定文件中。
在这里插入图片描述

15、调整结果为纵向展示

  使用-x参数调整行列,展示样式调整为纵向展示。
在这里插入图片描述

16、执行单行命令

  使用-c参数在ksql命令下直接执行命令并显示结果。
在这里插入图片描述

17、指定输出格式

  我们可以使用-H,–csv等指定输出为样式为html或者csv。
在这里插入图片描述

三、ksql命令参数说明

1、命令语法

用法:ksql [OPTION]… [DBNAME [USERNAME]]

2、通用参数

参数参数说明
-c, --command=COMMAND连接数据库后执行单行命令,执行完成后退出连接
-d, --dbname=DBNAME指定连接的数据库名称
-f, --file=FILENAME连接数据库时执行的脚本,执行完成后退出数据库连接
-l, --list打印数据库列表
-v, --set=, --variable=NAME=VALUE设置数据库参数变量
-V, --version打印数据库版本信息
-X, --no-ksqlrc不读取启动文件(~/.ksqlrc)
-1 (“one”), --single-transaction作为单个事务执行(如果非交互式)
-?, --help获取命令帮助,然后退出

3、输入输出参数

参数参数说明
-a,–echo-allecho来自脚本的所有输入
-b,–echo-errorsecho失败的命令
-e,–echo-queries发送到服务器的echo命令
-E,–echo-hidden显示内部命令生成的查询
-L,–log-file=FILENAME将会话日志发送到文件
-n,–no-readline禁用增强的命令行编辑
-o,–output=FILENAME将查询结果发送到文件(或
-q,–quiet不输出登录提示信息
-s,–single-step单步模式(确认每个查询)
-S,–single-line单行模式(行尾终止SQL命令)

4、输出格式参数

参数参数说明
-A, --no-align未对齐表输出模式
–csv(逗号分隔值)表格输出模式
-F, --field-separator=STRING设置未对齐输出的字段分隔符(默认值:“
-H, --htmlhtml表格输出模式
-P, --pset=VAR[=ARG]将打印选项VAR设置为ARG
-R, --record-separator=STRING未对齐输出的记录分隔符(默认值:换行符)
-t, --tuples-only不输出字段名
-T, --table-attr=TEXT设置HTML表标记属性(例如,宽度、边框)
-x, --expanded调整查询结果为纵向展示
-z, --field-separator-zero将未对齐输出的字段分隔符设置为零字节
-0, --record-separator-zero将未对齐输出的记录分隔符设置为零字节

5、连接参数

参数参数说明
-h, --host=HOSTNAME连接数据库的主机地址或者socket路径,默认local socket
-p, --port=PORT指定连接数据库端口,默认54321
-U, --username=USERNAME连接数据库用户名,默认kingbase
-w, --no-password允许不输入密码
-W, --password强制要求输入密码
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐