跳到主要内容返回博客列表GBase 8s 数据库 dbaccess 以及 GBaseDataStudio 使用
大家好,这里是公众号 DBA学习之路,分享一些学习国产数据库路上的知识和经验。 @TOC目录 数据库安装后通常会提供一个命令行客户端工具,比如: - Oracle 数据库的 sqlplus - KingbaseES 数据库的 ksql - 达梦数据库的 disql 类似的客户端工具还有很多,不再一一列举。 本文主要介绍 GBase 8s 数据库中的 dbaccess 客户端工具的使用。 dbacc
- 2738+ 篇实战文章
- 1500+ 步骤截图
- 10 大核心模块
大家好,这里是公众号 DBA学习之路,分享一些学习国产数据库路上的知识和经验。
前言
本章目标:掌握本章核心知识点
前置要求:完成前序章节学习
预计时长:60 分钟
数据库安装后通常会提供一个命令行客户端工具,比如:
- Oracle 数据库的
sqlplus
- KingbaseES 数据库的
ksql
- 达梦数据库的
disql
类似的客户端工具还有很多,不再一一列举。
本文主要介绍 GBase 8s 数据库中的 dbaccess 客户端工具的使用。
介绍
dbaccess 是 GBase 8s 数据库的一个命令行客户端工具,用来与 GBase 8s 数据库服务器进行交互。
GBase 8s 数据库安装完成后默认包含 dbaccess 工具,在 gbasedbt 用户下输入 dbaccess 即可使用(前提是需要配置好环境变量):
1[gbasedbt@gbase8s ~]$ dbaccess - -
2Your evaluation license will expire on 2025-10-10 00:00:00
3>
dbaccess 识别用户输入,将用户输入的 SQL 语句打包发送给 GBase 8s 数据库服务器执行,并接收服务器的执行结果,并按用户的要求将执行结果展示给用户。
dbaccess
dbaccess 有三种交互方式:
菜单交互模式
dbaccess 提供了一个基于控制台的菜单,用户可以使用方向键或快捷键,选择和执行相应的功能。
直接运行 dbaccess 命令,即可进入菜单的交互模式:
1[gbasedbt@gbase8s ~]$ dbaccess
2Your evaluation license will expire on 2025-10-10 00:00:00
3
4## 跳转出如下页面
5DBACCESS: Query-language Connection Database Table Session Exit
6Use SQL query language.
7
8------------------------------------------------ Press CTRL-W for Help --------

这种方式以前没怎么接触过,下面演示一下使用方式:
创建数据库:

选择创建:

输入数据库名称:

这一步可以配置数据库选项,默认不修改可以直接退出:

确认是否创建数据库 lucifer:

查看创建好的数据库信息:



使用 ctrl+z 可以直接退出菜单交互模式:
1[gbasedbt@gbase8s ~]$ dbaccess
2Your evaluation license will expire on 2025-10-10 00:00:00
3
4[2]+ Stopped dbaccess
指令交互模式
dbaccess 提供了一个类似 mysq l或 sqlplus 的客户端交互模式,用户输入要执行的指令并回车,dbaccess 执行用户输入的指令,并返回执行结果。
可以通过为 dbaccess 提供两个参数,进入指令交互模式:
1dbaccess <param1> <param2>
2param1:提供数据库名称或 -,当该参数为 - 时,表示未选择默认的数据库,后续可在 dbaccess 中,使用 database <db_name> 指定当前数据库。
3param2:固定为 -,表示 dbaccess 的输入为标准输入 STDIN。
使用 dbaccess 连接数据库:
1[gbasedbt@gbase8s ~]$ dbaccess - -
2Your evaluation license will expire on 2025-10-10 00:00:00
3## 选择数据库
4> database lucifer;
5
6Database selected.
7
8Elapsed time: 0.031 sec
9
10## 创建一张测试表
11> create table test(id int, name varchar2(20));
12
13Table created.
14
15Elapsed time: 0.002 sec
16
17## 插入一条数据
18> insert into test values (1,'lucifer');
19
201 row(s) inserted.
21
22Elapsed time: 0.002 sec
23
24## 查询测试表数据
25> select * from test;
26
27
28 id name
29
30 1 lucifer
31
321 row(s) retrieved.
33
34Elapsed time: 0.002 sec
35
36## 删除测试表
37> drop table if exists test;
38
39Table dropped.
40
41Elapsed time: 0.003 sec
42
43## ctrl+d 可以命令交互模式
44
45>
46
47Database closed.
看起来就是一个简陋的客户端工具,命令行需要以 ; 结束,没有找到 help 帮助信息以及合理的退出命令。
非交互模式
管道模式
dbaccess 可以接收 STDIN 中的内容,做为 dbaccess 需要执行的指令:
1[gbasedbt@gbase8s ~]$ echo "select trim(name) db_name from sysdatabases where name = 'lucifer';" | dbaccess sysmaster
2Your evaluation license will expire on 2025-10-10 00:00:00
3
4Database selected.
5
6
7
8
9db_name lucifer
10
111 row(s) retrieved.
12
13Elapsed time: 0.002 sec
14
15
16
17Database closed.
脚本模式
dbaccess 也可以将 SQL 代码保存到文件中,将文件做为 dbaccess 的第二个参数,来执行文件中的 SQL 代码:
1dbaccess <db_name> <sql_file>
创建一个 sql 脚本:
1[gbasedbt@gbase8s ~]$ cat<<-EOF>test.sql
2database lucifer;
3create table test(id int, name varchar(20));
4insert into test values(1, 'lucifer');
5select * from test;
6drop table if exists test;
7EOF
执行脚本:
1[gbasedbt@gbase8s ~]$ dbaccess - test.sql
2Your evaluation license will expire on 2025-10-10 00:00:00
3
4Database selected.
5
6Elapsed time: 0.028 sec
7
8
9Table created.
10
11Elapsed time: 0.001 sec
12
13
141 row(s) inserted.
15
16Elapsed time: 0.001 sec
17
18
19
20 id name
21
22 1 lucifer
23
241 row(s) retrieved.
25
26Elapsed time: 0.001 sec
27
28
29Table dropped.
30
31Elapsed time: 0.001 sec
32
33
34Database closed.
也可以使用 EOF 的方式:
1[gbasedbt@gbase8s ~]$ dbaccess sysmaster - << EOF
2select * from sysdbslocale where dbs_dbsname='lucifer';
3EOF
4
5Your evaluation license will expire on 2025-10-10 00:00:00
6
7Database selected.
8
9
10
11
12dbs_dbsname lucifer
13dbs_collate zh_CN.57372
14
151 row(s) retrieved.
16
17Elapsed time: 0.004 sec
18
19
20
21Database closed.
个人还是比较喜欢这种方式。
GBaseDataStudio
dbaccess 客户端有点不太好用,好在官方还提供了一个图形化客户端工具:GBaseDataStudio,可以在官方直接下载 GBaseDataStudio:

下载之后解压即可,无需安装,直接可以运行,输入数据库的连接信息后测试连接:



一直下一步,确认没问题之后,就可以对连接的数据库进行操作了:

具体大家可以自行探索,不再一一演示。
写在最后
对了,dbaccess 工具也可以和 rlwrap 插件(上下文翻页)配合使用,操作更方便。
GBase 8s 数据库 dbaccess 以及 GBaseDataStudio 使用 - DBA 学习之路