GBASE南大通用技术分享:GBase 8s
dbaccess概述
数据库产品通常会提供一个命令行客户端工具。
dbaccess 是 GBase 8s 数据库的一个命令行客户端工具,用来与 GBase 8s 数据库服务器进行交互。
dbaccess 是 GBase 8s 数据库自带的工具,只要安装了 GBase 8s 数据库,就可以在命令行启动该工具。
dbaccess 识别用户输入,将用户输入的 SQL 语句打包发送给 GBase 8s 数据库服务器执行,并接收服务器的执行结果,并按用户的要求将执行结果展示给用户。
GBASE南大通用技术分享:dbaccess工作模式
交互模式
菜单交互模式
dbaccess提供了一个基于控制台的菜单,用户可以使用方向键或快捷键,选择和执行相应的功能。
直接运行dbaccess命令,即可进入菜单的交互模式。
DEMO
选择/连接数据库实例
编辑/执行SQL代码
选择/执行文件中的SQL代码
注: 可选择和执行的文件,在启动dbaccess目录中,且扩展名为.sql。
指令交互模式
dbaccess提供了一个类似mysql或sqlplus的客户端交互模式,用户输入要执行的指令并回车,dbaccess执行用户输入的指令,并返回执行结果。
可以通过为dbaccess提供两个参数,进入指令交互模式。
dbaccess <param1> <param2>
param1:提供数据库名称或-,当该参数为-时,表示未选择默认的数据库,后续可在dbaccess中,使用database <db_name>指定当前数据库。
param2:固定为-,表示dbaccess的输入为标准输入STDIN。
DEMO
[gbasedbt@train ~]$ dbaccess - -
Your evaluation license will expire on 2022-06-09 00:00:00
> database gbasedb;
Database selected.
> drop table if exists t_user;
Table dropped.
> create table t_user(f_userid int, f_username varchar(50));
Table created.
> insert into t_user values(1, 'gbasedbt');
1 row(s) inserted.
> select * from t_user;
f_userid f_username
1 gbasedbt
1 row(s) retrieved.
>
非交互模式
管道模式
dbaccess可以接收STDIN中的内容,做为dbaccess需要执行的指令。
echo "sql_code" | dbaccess <db_name>
DEMO
[gbasedbt@train ~]$ echo "select * from t_user;" | dbaccess gbasedb
Your evaluation license will expire on 2022-06-09 00:00:00
Da