基本概念
GBase 8S是一种事务型数据库管理系统,其客户端工具dbaccess是一个命令行接口程序,用于与数据库服务器进行交互。dbaccess提供了一个基于控制台的菜单,用户可以使用方向键或快捷键来选择和执行相应的功能。直接运行dbaccess命令,即可进入菜单的交互模式。
功能和使用方式
dbaccess具备多种工作模式,包括菜单交互模式、指令交互模式和非交互模式。在菜单交互模式下,用户可以通过控制台菜单选择执行SQL语句、连接数据库等操作。指令交互模式类似于MySQL或SQLPlus的客户端交互模式,用户输入要执行的指令并回车,dbaccess将执行并返回结果。非交互模式包括管道模式和脚本模式,其中管道模式可以从stdin接收内容作为执行指令,脚本模式则可以执行保存在文件中的SQL脚本。
为了使用dbaccess,用户需要在启动前设置环境变量,如GBS_HOME、DBACCNOIGN、DBCENTURY等,以适应特定的操作系统环境和数据库需求。此外,还需要了解如何使用SSL协议来保护dbaccess与数据库之间的连接。
实际应用场景
在实际应用中,dbaccess可用于日常数据库维护、数据备份、批量数据处理等工作。例如,可以利用dbaccess批量导入数据、执行定时报表生成或与其他数据库迁移工作结合使用。在使用过程中,需要注意版本兼容性问题,并根据官方文档及时更新和升级。
dbaccess 是 GBase 8s 数据库的一个命令行客户端工具,用来与 GBase 8s 数据库服务器进行交互。
dbaccess 是 GBase 8s 数据库自带的工具,只要安装了 GBase 8s 数据库,就可以在命令行启动该工具。
dbaccess 识别用户输入,将用户输入的 SQL 语句打包发送给 GBase 8s 数据库服务器执行,并接收服务器的执行结果,并按用户的要求将执行结果展示给用户。
dbaccess工作模式包括:
交互模式:
1、菜单交互模式;
2、指令交互模式;
非交互模式:
1、管道模式;
2、脚本模式;
1、交互模式
1.1、菜单交互模式
dbaccess提供了一个基于控制台的菜单,用户可以使用方向键或快捷键,选择和执行相应的功能。
直接运行dbaccess命令,即可进入菜单的交互模式。
dbaccesss – –
选择/连接数据库实例
编辑/执行SQL代码
选择/执行文件中的SQL代码
注: 可选择和执行的文件,在启动dbaccess目录中,且扩展名为.sql。
1.2、指令交互模式
dbaccess提供了一个类似mysql或sqlplus的客户端交互模式,用户输入要执行的指令并回车,dbaccess执行用户输入的指令,并返回执行结果。
可以通过为dbaccess提供两个参数,进入指令交互模式。
语法:
dbaccess <param1> 中间加空格<param2>
param1:提供数据库名称或-,当该参数为-时,表示未选择默认的数据库,后续可在dbaccess中,使用database <db_name>指定当前数据库。
param2:固定为-,表示dbaccess的输入为标准输入STDIN。
如:dbaccess – –

2、非交互模式
2.1、管道模式
dbaccess可以接收STDIN中的内容,做为dbaccess需要执行的指令。
语法:
echo “sql_code” | dbaccess <db_name>
如:echo “select * from t_user;” | dbaccess testdb

2.1、脚本模式
可以将SQL代码保存到文件中,将文件做为dbaccess的第二个参数,来执行文件中的SQL代码。
语法:
dbaccess <db_name> <sql_file>
如:
编写脚本:vi data.sql
database testdb;
drop table if exists t_user;
create table t_user(f_userid int, f_username varchar(50));
insert into t_user values(1, ‘测试1’);
insert into t_user values(2, ‘测试2’);
insert into t_user values(3, ‘测试3’);
insert into t_user values(4, ‘测试4’);
select * from t_user;
执行脚本:
dbaccess – /install/data.sql

也可以将以上脚本编写到shell文件中, 执行shell文件,执行内容如下:
语法:
dbaccess dbname <<EOF
Sqlcode
EOF
如:
编辑脚本:
sudo vi shelldata.sh
内容如下:
#!/bin/bash
dbaccess <<EOF
database testdb;
drop table if exists t_user;
create table t_user(f_userid int, f_username varchar(50));
insert into t_user values(1, ‘测试1’);
insert into t_user values(2, ‘测试2’);
insert into t_user values(3, ‘测试3’);
insert into t_user values(4, ‘测试4’);
select * from t_user;
EOF

执行脚本:sh /install/shelldata.sh

总结
综上演示,GBase 8S事务型数据库的客户端工具dbaccess是一个功能丰富的命令行接口,支持多种交互模式,适用于数据库管理和日常维护工作。在使用dbaccess时,用户需熟悉其用法和设置环境变量的方法,以确保能够高效地与数据库服务器进行通信和操作。
原创文章,作者:kirin,如若转载,请注明出处:https://blog.ytso.com/tech/bigdata/317879.html