本文主要是介绍达梦数据库的交互工具disql,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
达梦数据库的交互工具disql
1 功能简介
DIsql 是 DM 数据库的一个命令行客户端工具,用来与 DM 数据库服务器进行交互。DIsql 是 DM 数据库自带的工具,只要安装了 DM 数据库,就可以在应用菜单和安装目录中找到。
DIsql 识别用户输入,将用户输入的 SQL 语句打包发送给 DM 数据库服务器执行,并接收服务器的执行结果,并按用户的要求将执行结果展示给用户。为了更好地与用户交互和展示执行结果,用户也可以在 DIsql 中执行 DIsql 命令,这些命令由 DIsql 工具自身进行处理,不被发送给数据库服务器。
SQL 语句在 DIsql 中执行完后都被保存在一个特定的内存区域中, 用户可以通过上下键查找到这些保存在内存中的 SQL 语句(些操作系统可能不支持此操作) ,并可以进行修改,然后再次执行。 DIsql 命令执行完后不保存在内存区域中。
2 disql命令的语法
disql的语法可以通过disql -h 查看。 用法与oracle数据库的sqlplus命令类似。
[dmdba@test ~]$ disql -h
disql V8
version: 03134283904-20220630-163817-20005
DISQL 用法1:disql -h|help 显示disql版本信息和帮助信息DISQL 用法2:disql [ [<option>] [<logon> | {/NOLOG}] [<start>] ]<option> 为: [-L] [-S]-L 只尝试登录一次-S 隐藏模式,隐藏<SQL>标识符<logon> 为::= {<username>[/<password>] | /}[@<connect_identifier>][<option>] [<os_auth>]<connect_identifier>为[<svc_name> | host[:port] | <unixsocket_file>]HOST如果是IPv6的地址,需要用[]指明是IPv6地址,例如[fe80::1e6f:65ff:fed1:3724%6]INET_TYPE如果是UNIXSOCKET类型,<connect_identifier>需要指明是unixsocket地址,例如:/data/sdb/DAMENG/foo.sock<option> ::= #{<extend_option>=<value>[,<extend_option>=<value>]...}<os_auth> ::= AS {SYSDBA|SYSSSO|SYSAUDITOR|USERS|AUTO}<extend_option> <value>MPP_TYPE GLOBAL/LOCALINET_TYPE UDP/TCP/IPC/RDMA/UNIXSOCKETSSL_PATH <path_str>SSL_PWD <pwd_str>PROXY_CLIENT <user_str>GWDSN <GATEWAY DSN>UKEY_NAME <ukey_name_str>UKEY_PIN <ukey_pin_str>SHAKE_CRYPTO <shake_crypto_str>USER_NEW_PWD <new_pwd><start> ::= <`sql脚本> | <direct cmd> | <direct sql> 运行disql脚本/NOLOG 选项能在未登录DM服务器的情况下启动disql<`sql脚本>::= `<filename>[<parameter> { <parameter>}...]"<direct sql>::= -e "<SQL语句>[;<SQL语句>]"<direct cmd>::= -c "<set 命令>"
3 常用登录数据库的方式
[dmdba@test ~]$ disql sysdba/Dameng123服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 2.797(ms)
disql V8
SQL> exit--当监听的端口不是默认的5236时,需要指定登录端口。
[dmdba@test ~]$ disql sysdba/Dameng123@localhost:5236服务器[localhost:5236]:处于普通打开状态
登录使用时间 : 3.610(ms)
disql V8
SQL> exit
–登录交互界面后,可以通过help检查帮助。
[dmdba@test ~]$ disql sysdba/Dameng123服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 3.185(ms)
disql V8
SQL> help HELP
----显示打印信息,键入HELP或者 ? .
HELP|? [topic]
APPEND 添加文本到当前行的末尾。
COLUMN 描述指定列的信息。
CONNECT 连接到服务器。
CLEAR 重置或清理指定操作的缓存。
DISCONNECT 提交所有修改到服务器,但不退出DISQL。要退出DISQL使用exit命令。
DESCRIBE 获取表或视图、存储过程、函数、包、记录、类的结构描述。
DEFINE 设置变量值,或者显示已定义的变量信息。
HOST 在不退出DISQL的情况下执行操作系统命令。
EDIT 打开一个文本编辑器,里面包含所有SQL记录。
EXIT 提交或者回滚所有修改,退出DISQL。
MORE 切换到下一个结果集。
LIST 显示最近执行的SQL语句或者PL/SQL块信息,或者使用 ";"命令。不显示DISQL命令。
PROMPT 发送指定的消息或者空行到用户的屏幕。
QUIT 提交或者回滚所有修改,退出DISQL。
SET 设置某个系统环境变量,设置的值会修改当前会话的DISQL系统设置,例如:- 设置数据显示宽度- 制定 HTML 格式- 允许/禁止打印列头- 设置每一页的行数
SHOW 显示某个DISQL的系统变量,或者当前DISQL的环境变量。
SPOOL 屏幕显示的内容输出到指定文件。
WHENEVER 当一个SQL命令,或者PL/SQL块生成一个错误的时候,执行特定的命令(默认是DISQL退出)SQL>
或者 help + 具体命令,如:help col
SQL> help colCOLUMN------描述指定列的信息。COL[UMN] [<column | expr> [option] ]where option represents one of the following clauses:NEW_V[ALUE] variableFOR[MAT] formatformat ::= A is the prefix followed by an integerSQL>
达梦的disql与oracle的sqlplus 操作很相似,有过使用sqlplus经验的同学上手会更快。
注:达梦安装完数据库后,会在两条路径下有disql的命令。
分别在$DM_HOME/bin和$DM_HOME/tool路径下。 我们平时登录数据库使用的是$DM_HOME/bin下的disql
[dmdba@test dm8]$ find /dm8/ -name "disql"
/dm8/bin/disql
/dm8/tool/disql
更多的内容请看达梦的官方文档。《DM8_DIsql使用手册》
谨记:心存敬畏,行有所止。
这篇关于达梦数据库的交互工具disql的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!