金仓数据库KingbaseES 命令行工具KSQL的使用
关键字:命令行、KSQL、金仓数据库
1.什么是KSQL
KSQL是提供给DBA的与KES数据库交互的命令行步伐,有些工作场景下无法使用图形化界面工具,此时就可以使用KSQL举行数据的操纵和数据库的维护。
2.查看KSQL工具的帮助
[*]$ ksql --help
[*]ksql是Kingbase 的交互式客户端工具。
[*]使用方法:
[*]ksql [选项]... [数据库名称 [用户名称]]
[*]通用选项:
[*]-B 用户登录时提供验证码功能
[*]-c, --command=命令 实行单一命令(SQL或内部指令)然后竣事
[*]-d, --dbname=DBNAME 指定要连接的数据库 (默认:"zl")
[*]-f, --file=文件名 从文件中实行命令然后退出
[*]-l, --list 列出所有可用的数据库,然后退出
[*]-v, --set=, --variable=NAME=VALUE
[*]设置ksql变量NAME为VALUE
[*](例如,-v ON_ERROR_STOP=1)
[*]-V,--version 输出书本信息,然后退出
[*]-X, --no-ksqlrc 不读取启动文档(~/.ksqlrc)
[*]-1 ("one"), --single-transaction
[*]作为一个单一事务来实行命令文件(如果黑白交互型的)
[*]-?, --help[=options] 显示此帮助,然后退出
[*]--help=commands 列出反斜线命令,然后退出
[*]--help=variables 列出特殊变量,然后退出
[*]输入和输出选项:
[*]-a, --echo-all 显示所有来自于脚本的输入
[*]-b, --echo-errors 回显失败的命令
[*]-e, --echo-queries 显示发送给服务器的命令
[*]-E, --echo-hidden 显示内部命令产生的查询
[*]-L, --log-file=文件名 将会话日记写入文件
[*]-M, --enable-client-encryption
[*]启用使用客户端加密功能
[*]-n, --no-readline 禁用加强命令行编辑功能(readline)
[*]-o,--outPut=FILENAME 将查询结果发送到file(or |pipe)
[*]-q,--quiet 静静地运行(没有消息,只有查询输出)
[*]-s, --single-step 单步模式 (确认每个查询)
[*]-S, --single-line 单行模式 (一行就是一条 SQL 命令)
[*]输特别式选项 :
[*]-A,--no-align 不对齐表输出模式
[*]--csv CSV(逗号分隔值)表输出模式
[*]-F, --field-separator=STRING
[*]用于未对齐输出的字段分隔符(默认值:"|")
[*]-H,--html HTML表输出模式
[*]-P, --pset=变量[=参数] 设置将变量打印到参数的选项(查阅 \pset 命令)
[*]-R, --record-separator=STRING
[*]记载分隔符用于未对齐输出(默认:newline)
[*]-t, --tuples-only 只打印记载i
[*]-T, --table-attr=文本 设定 HTML 表格标记属性(例如,宽度,边界)
[*]-x,--expanded 打开扩展表outPut
[*]-z, --field-separator-zero
[*]将未对齐输出的字段分隔符设置为零字节
[*]-0, --record-separator-zero
[*]将未对齐输出的记载分隔符设置为零字节
[*]联接选项:
[*]-h, --host=主机名 数据库服务器主机或socket目录(默认:"本地接口")
[*]-p, --port=端口 数据库服务器的端口(默认:"54321")
[*]-U,--username=USERNAME 数据库用户名(默认:"kingbase")
[*]-w, --no-password 永远不提示输入口令
[*]-W, --password 强制口令提示 (自动)
[*]-C,--client-cert-path cert-authentication文件路径
[*]-k,--client-certkey-path 证书认证私钥文件路径
[*]-K, --client-certpin-path 读取私钥文件的加密pin码文件路径
[*]更多信息,请在ksql中输入 "\?"(用于内部命令),
[*]大概参考Kingbase ES文档中的ksql章节。
3. 查看元命令帮助
zl=# \?
一般性
\crosstabview 实行查询并且以交叉表显示结果
\errverbose 以最冗长的情势显示最近的错误消息
\g or [|COMMAND] 将实行结果发送到文件大概是管道
\gdesc 描述查询结果,而不实行它
\gexec 实行策略,然后实行其结果中的每个值
\gset 实行查询并把结果存到ksql变量中
\gx as \g, 但强制扩展输出模式
\q 退出 ksql
\watch 每隔SEC秒实行一次查询
帮助
\? 显示反斜线命令的帮助
\? options 显示 ksql 命令行选项的帮助
\? variables 显示特殊变量的帮助
查询缓存区
\e 使用外部编辑器编辑查询缓存区(或文件)
\ef ] 使用外部编辑器编辑函数定义
\ev ] 用外部编辑器编辑视图定义
\p 显示查询缓存区的内容
\r 重置(清除)查询缓存区
\s 显示历史记载或将历史记载保存在文件中
\w FILE 将查询缓存区的内容写入文件
输入/输出
\copy ... 实行 SQL COPY,将数据流发送到客户端主机
\echo 将字符串写入标准输出
\i FILE 从文件中实行命令
\ir FILE 与 \i雷同, 但是相对于当前脚本的位置
\o 将全部查询结果写入文件或 |管道
\qecho 写入字符串以查询输出流(see \o)
条件
\if EXPRESSION 条件语句开始块
\elif EXPRESSION else if 语句块
\else 当前条件块内的最终备选方案
\endif 条件块的末端
资讯性
(选项: S = 显示系统对象, + = 别的的详细信息)
\d 列出表,视图和序列
\d NAME 描述表,视图,序列,或索引
\da 列出聚合函数
\dA[+] 列出访问方法
\db[+] 列出表空间
\dc 列表转换
\dC[+] 列出范例强制转换
\dd 显示没有在别处显示的对象描述
\dD 列出共同值域
\ddp 列出默认权限
\dE 列出引用表
\det[+] 列出引用表
\des[+] 列出外部服务器
\deu[+] 列出用户映射
\dew[+] 列出外部数据封装器
\df 列出[只包罗 聚合/通例/步伐/触发器/窗口]函数
\dF[+] 列出文本搜索设置
\dFd[+] 列出文本搜索字典
\dFp[+] 列出文本搜索剖析器
\dFt[+] 列出文本搜索模版
\dg 列出脚色
\di 列出索引
\dl 列出大对象, 功能与\lo_list雷同
\dL 列出所有过程语言
\dm 列出所有物化视图
\dn 列出所有模式
\do 列出运算符
\dO 列出所有校对规则
\dp 列出表,视图和序列的访问权限
\dpkg 列出包
\dP 列出 [仅索引/表] 分区关系
\drds ] 列出每个数据库的脚色设置
\dRp[+] 列出复制发布
\dRs[+] 列出复订定阅
\ds 列出序列
\dt 列出表
\dT 列出数据范例
\du 列出脚色
\dv 列出视图
\dx[+] 列出扩展
\dy 列出所有变乱触发器
\l[+] 列出所有数据库
\sf[+] FUNCNAME 显示一个函数的定义
\sv[+] VIEWNAME 显示一个视图的定义
\z 和\dp的功能雷同
格式化
\a 在未对齐和对齐输出模式之间的切换
\C 设置表的标题,或如果没有的标题就取消
\f 显示或设置未对齐查询的字段分隔符
\H 切换HTML输出模式(当前关闭)
\pset ] set table outPut option
(border|columns|csv_fieldsep|expanded|fieldsep|
fieldsep_zero|footer|format|linestyle|null|
numericlocale|pager|pager_min_lines|recordsep|
recordsep_zero|tableattr|title|tuples_only|
unicode_border_linestyle|unicode_column_linestyle|
unicode_header_linestyle)
\t 只显示记载 (目前是关闭)
\T 设置HTML <表格>标签属性, 大概如果没有的话取消设置
\x 切换扩展输出(当前关闭)
连接
\c { | conninfo}
连接到新数据库(当前是"zl")
\conninfo 显示当前连接的相关信息
\encoding 显示或设定客户端编码
\password 安全地为用户更改口令
操纵系统
\cd 更改目前的工作目录
\setenv NAME 设置或清空环境变量
\timing 切换命令计时开关 (目前是关闭)
\! 在 shell中实行命令或启动一个交互式shell
变量
\prompt NAME 提示用户设定内部变量
\set ] 设定内部变量,若无参数则列出全部变量
\unset NAME 清空(删除)内部变量
大对象
\lo_export LOBOID FILE 导出指定LOBIOD的大对象到文件
\lo_import FILE 从文件FILE导入大对象,并且可以添加注释
\lo_list 列出所有的大对象
\lo_unlink LOBOID 移除指定LOBOID的大对象
具体操纵
4.1 通过KSQL连接到某个数据库
ksql -h 127.0.0.1 -p 54322 -U kingbase -d test
4.2 列出所有数据库
zl-# \l
数据库列表
名称 | 拥有者 | 字元编码 | 校对规则 | Ctype | 存取权限
-----------+----------+----------+-------------+-------------+-----------------------
kadmin | kingbase | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
kingbase | kingbase | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | =Tc/kingbase +
| | | | | kingbase=CTc/kingbase
kops | kmonitor | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
kops2 | kmonitor | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
kops3 | kmonitor | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
4.3 列出表
zl-# \dt
关联列表
架构模式 | 名称 | 范例 | 拥有者
----------+---------------------------------------------------+--------+----------
public | database_area_set | 数据表 | kmonitor
public | database_auto_name | 数据表 | kmonitor
public | database_biz_line_type_info | 数据表 | kmonitor
public | database_case_alone_base_info | 数据表 | kmonitor
public | database_case_cluster_base_info | 数据表 | kmonitor
public | database_case_failover | 数据表 | kmonitor
public | database_case_info | 数据表 | kmonitor
public | database_case_witness_info | 数据表 | kmonitor
public | database_cluster_backup_path | 数据表 | kmonitor
public | database_cluster_case_internal_inspect | 数据表 | kmonitor
public | database_cluster_case_rel_info | 数据表 | kmonitor
4.4 列出序列
zl-# \ds
关联列表
架构模式 | 名称 | 范例 | 拥有者
----------+-------------------------------------------------------+--------+----------
public | database_area_set_seq | 序列数 | kmonitor
public | database_auto_name_id_seq | 序列数 | kmonitor
public | database_auto_name_seq | 序列数 | kmonitor
public | database_biz_line_type_info_seq | 序列数 | kmonitor
public | database_case_alone_base_info_seq | 序列数 | kmonitor
public | database_case_cluster_base_info_seq | 序列数 | kmonitor
public | database_case_failover_seq | 序列数 | kmonitor
public | database_case_info_seq | 序列数 | kmonitor
public | database_case_witness_info_seq | 序列数 | kmonitor
4.5 列出视图
zl-# \dv
关联列表
架构模式 | 名称 | 范例 | 拥有者
----------+-------------------------+------+----------
public | sys_buffercache | 视图 | kingbase
public | sys_stat_statements | 视图 | kingbase
public | sys_stat_statements_all | 视图 | kingbase
(3 行记载)
4.6 列出脚色
zl-# \dg
脚色列表
脚色名称 | 属性 | 成员属于
------------+--------------------------------------------+------------------------
admin | 超级用户 | {}
kadmin | | {system}
kcluster | 无法登录 | {}
kingbase | 超级用户, 建立脚色, 建立 DB, 复制, 绕过RLS | {admin}
kmonitor | 建立 DB | {admin,system}
oadba | | {}
plprofiler | 无法登录 | {}
4.7 列出索引
zl-# \di
关联列表
架构模式 | 名称 | 范例 | 拥有者 | 数据表
----------+----------------------------------------------------------+------+----------+---------------------------------------------------
public | PK_database_read_log_file | 索引 | kmonitor | database_read_log_file
public | UQ_database_read_log_file | 索引 | kmonitor | database_read_log_file
public | case_dix | 索引 | kmonitor | kingbase_sys_stat_statements_stddev_plan_seconds
public | cluster_dix | 索引 | kmonitor | kingbase_sys_stat_statements_stddev_plan_seconds
public | con_public_database_auto_name_constraint_1 | 索引 | kmonitor | database_auto_name
public | con_public_database_auto_name_constraint_2 | 索引 | kmonitor | database_auto_name
public | con_public_km_inspect_user_constraint_1 | 索引 | kmonitor | km_inspect_user
public | con_public_km_operate_log_constraint_1 | 索引 | kmonitor | km_operate_log
public | inxex_public_kingbase_sys_log_info_index_1 | 索引 | kmonitor | kingbase_sys_log_info
public | kingbase_data_analysis_info_idx | 索引 | kmonitor | kingbase_data_analysis_info
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]