> 技术文档 > 人大金仓KCA | 数据库对象管理工具与命令行工具KSQL_金仓数据库管理工具

人大金仓KCA | 数据库对象管理工具与命令行工具KSQL_金仓数据库管理工具


人大金仓KCA | 数据库对象管理工具与命令行工具KSQL

  • 一、知识预备
    • 1. 数据库对象管理工具
    • 2. 命令行工具KSQL
    • 3. KSQL元命令
    • 4. KingBaseES中支持的环境变量
    • 二、具体实施
      • 1. 切换EasyKStudio界面语言
    • 1. 使用EasyKStudio连接KingBaseES
    • 2. 新建用户
    • 3. 常用命令组合
      • 3.1 使用TCP/IP方式登录数据库
      • 3.2 在连接中切换对象
      • 3.3 执行SQL语句
      • 3.4 查询相关信息
      • 3.5 导出导出表数据

OS版本:CentOS-7-x86_64-Everything-2009
KES版本:KingbaseES_V008R006C008B0014_Lin64
许可证版本:license_39893_0.dat(开发版)

一、知识预备

1. 数据库对象管理工具

数据库对象管理工具是人大金仓提供的连接KES数据库的图形化客户端工具,可用于开发工程师对数据库项目进行开发,为DBA提供了丰富的运维功能,类似于Navicat。在安装KingbaseES的时候会自动安装数据库对象管理工具,可以在菜单中找到。

人大金仓KCA | 数据库对象管理工具与命令行工具KSQL_金仓数据库管理工具
数据对象管理工具特点

  • 图形化操作方便开发人员编写和调试SQL及PL/SQL代码
  • 对象展示直观,适合初学者
  • 操作简单,省去命令编写

2. 命令行工具KSQL

KSQl是人大金仓提供给数据库管理员与KES数据库交互的命令行客户端命令,使用方式与mysql等命令类似。KSQL的一个缺点是不能通过Ctrl+L清屏,但是KSQL可以利用tab键多层级、持续智能提示和补全,通过配置和使用环境变量,可以快速登录数据库。

可以通过修改环境变量使命令行帮助信息为中文

echo \"export LANG=zh_CN.UTF_8\" >> ~/.bashrcsource ~/.bashrc

人大金仓KCA | 数据库对象管理工具与命令行工具KSQL_金仓数据库管理工具

KSQL的常见参数

参数 说明 -h 连接服务器的IP地址 -p 连接服务器的端口号,设置过环境变量后可以不指定 -U 连接数据库的用户名 -c 连接数据库执行临时命令,命令执行完断开连接 -d 指定连接时登录的数据库 -V 打印数据库版本信息 -o 将命令输出结果重定向到指定文件中

3. KSQL元命令

ksql提供了一组以\\开头的快捷命令

查看元命令帮助

ksql -Usystem -dtest

人大金仓KCA | 数据库对象管理工具与命令行工具KSQL_金仓数据库管理工具

常用元命令介绍

参数 说明 \\d 列出表、视图和序列 \\q 退出数据库交互 \\du 列出所有角色 \\ds 列出所有序列 \\l 列出所有数据库 \\di 列出索引 \\i 在文件中执行命令,可以用户运行SQL文件 \\conninfo 显示当前连接的相关信息 \\! 在shell中执行命令或启动一个交互式shell

4. KingBaseES中支持的环境变量

KSQL可以通过定义环境变量快速登录数据库

环境变量 说明 KINGBASE_HOST 设置默认登录的主机名 KINGBASE_PORT 设置默认端口号 KINGBASE_DATABASE 设置默认登录的数据库 KINGBASE_USER 设置默认使用的用户名 LANG 默认语言

二、具体实施

1. 切换EasyKStudio界面语言

[Step1]: 打开EasyKStudio,选择【Windows】,选择【Preferences】
人大金仓KCA | 数据库对象管理工具与命令行工具KSQL_金仓数据库管理工具

[Step2]: 选择【Database User Interface】

人大金仓KCA | 数据库对象管理工具与命令行工具KSQL_金仓数据库管理工具

人大金仓KCA | 数据库对象管理工具与命令行工具KSQL_金仓数据库管理工具

1. 使用EasyKStudio连接KingBaseES

[Step1]: 新建数据库连接
人大金仓KCA | 数据库对象管理工具与命令行工具KSQL_金仓数据库管理工具
人大金仓KCA | 数据库对象管理工具与命令行工具KSQL_金仓数据库管理工具

人大金仓KCA | 数据库对象管理工具与命令行工具KSQL_金仓数据库管理工具

[Step2]: 填写完相关参数后,点击测试连接
人大金仓KCA | 数据库对象管理工具与命令行工具KSQL_金仓数据库管理工具

[Step3]: 点击【完成】
人大金仓KCA | 数据库对象管理工具与命令行工具KSQL_金仓数据库管理工具

[Step4]: 主界面
人大金仓KCA | 数据库对象管理工具与命令行工具KSQL_金仓数据库管理工具

2. 新建用户

配置需求

  • 创建用户 user_admin、 user_rw、user_r1、user_r2
  • 创建用户时使用默认权限,密码均为 kingbase。
  • 允许用户 user_r1 最多可同时创建 10 个连接。

[Step1]: 新建用户user_admin、user_rw、user_r2
人大金仓KCA | 数据库对象管理工具与命令行工具KSQL_金仓数据库管理工具
人大金仓KCA | 数据库对象管理工具与命令行工具KSQL_金仓数据库管理工具
人大金仓KCA | 数据库对象管理工具与命令行工具KSQL_金仓数据库管理工具

人大金仓KCA | 数据库对象管理工具与命令行工具KSQL_金仓数据库管理工具

[Step2]: 新建用户user_r1,限制最多可同时创建 10 个连接
人大金仓KCA | 数据库对象管理工具与命令行工具KSQL_金仓数据库管理工具

[Step3]: 验证:列出数据库用户

ksql -Usystem -dtest -c \"\\du user*\"

人大金仓KCA | 数据库对象管理工具与命令行工具KSQL_金仓数据库管理工具

3. 常用命令组合

3.1 使用TCP/IP方式登录数据库

[Step1]: 使用-h选项指定IP地址

ksql -h 192.168.19.248 -d test -Usystemselect inet_client_addr(),inet_client_port();

人大金仓KCA | 数据库对象管理工具与命令行工具KSQL_金仓数据库管理工具

[Step2]: 使用连接串的方式登录数据库

ksql \'hostaddr=192.168.19.248 port=52024 user=system dbname=test\'

人大金仓KCA | 数据库对象管理工具与命令行工具KSQL_金仓数据库管理工具

3.2 在连接中切换对象

[Step1]: 切换用户

ksql -d test -Usystem\\c - user_admin\\conninfo

人大金仓KCA | 数据库对象管理工具与命令行工具KSQL_金仓数据库管理工具

[Step2]: 切换数据库

ksql -d test -Usystem\\c kingbase\\conninfo

人大金仓KCA | 数据库对象管理工具与命令行工具KSQL_金仓数据库管理工具

[Step3]: 同时切换用户和数据库

ksql -d test -Usystem\\c kingbase user_admin

人大金仓KCA | 数据库对象管理工具与命令行工具KSQL_金仓数据库管理工具

3.3 执行SQL语句

[Step1]: 登录数据库,然后执行SQL语句

ksql -d test -Usystemselect * from sys.dual;

人大金仓KCA | 数据库对象管理工具与命令行工具KSQL_金仓数据库管理工具

[Step2]: 非交互式执行SQL

ksql -d test -Usystem -c \"select * from sys.dual\"

人大金仓KCA | 数据库对象管理工具与命令行工具KSQL_金仓数据库管理工具

[Step3]: 无需登录数据库:执行多行SQL语句

vim demo.sql
create table student( ID int primary key, NAME varchar(20), Birthday date);
ksql -d test -Usystem -f \"demo.sql\"ksql -d test -Usystem -c \"select * from student\"

人大金仓KCA | 数据库对象管理工具与命令行工具KSQL_金仓数据库管理工具

[Step4]: 登录数据库:执行多行SQL语句

vim insert.sql
INSERT INTO studentVALUES (10001,\'tom\',\'1990-04-12\'), (10002,\'harry\',\'1993-07-05\'), (10003,\'barry\',\'1992-02-23\');
ksql -d test -Usystem\\i insert.sql

人大金仓KCA | 数据库对象管理工具与命令行工具KSQL_金仓数据库管理工具

3.4 查询相关信息

[Step1]: 查看表的详细信息

ksql -d test -Usystem\\d student

人大金仓KCA | 数据库对象管理工具与命令行工具KSQL_金仓数据库管理工具

[Step2]: 查看用户和角色信息

ksql -d test -Usystem\\du

人大金仓KCA | 数据库对象管理工具与命令行工具KSQL_金仓数据库管理工具

3.5 导出导出表数据

[Step1]: 将student表中的数据导出为csv格式

\\copy student to student.csv csv\\! cat student.csv

人大金仓KCA | 数据库对象管理工具与命令行工具KSQL_金仓数据库管理工具

[Step2]: 将student表中的数据导出为文本格式

\\copy student to student.txt\\! cat student.txt

人大金仓KCA | 数据库对象管理工具与命令行工具KSQL_金仓数据库管理工具

[Step3]: 将student表中的数据导出为二进制格式

\\copy student to student.dat binary\\! cat student.dat

人大金仓KCA | 数据库对象管理工具与命令行工具KSQL_金仓数据库管理工具

[Step4]: 将csv文件导入数据库表

delete from student where ID=10001;delete from student where ID=10002;delete from student where ID=10003;\\copy student from student.csv csvselect * from student;

人大金仓KCA | 数据库对象管理工具与命令行工具KSQL_金仓数据库管理工具