达梦数据库:DIsql的基本操作和常用命令 您所在的位置:网站首页 php显示数据库内容的命令 达梦数据库:DIsql的基本操作和常用命令

达梦数据库:DIsql的基本操作和常用命令

2023-08-20 09:34| 来源: 网络整理| 查看: 265

    DIsql 是 DM 数据库的一个命令行客户端工具,用来与 DM 数据库服务器进行交互。

    DIsql 识别用户输入,将用户输入的 SQL 语句打包发送给 DM 数据库服务器执行,并接收服务器的执行结果,并按用户的要求将执行结果展示给用户。为了更好地与用户交互和展示执行结果,用户也可以在 DIsql 中执行 DIsql 命令,这些命令由 DIsql 工具自身进行处理,不被发送给数据库服务器。

    SQL 语句在 DIsql 中执行完后都被保存在一个特定的内存区域中,用户可以通过上下键查找到这些保存在内存中的 SQL 语句,并可以进行修改,然后再次执行。DIsql 命令执行完后不保存在内存区域中。

1 在 WINDOWS系统中动启动 DIsql

    WINDOWS 环境下,有两种启动 DIsql 的方式。第一种是启动安装软件后生成的程序菜单,第二种是启动安装目录下自带的 DIsql 工具。

启动之后,当出现“SQL>”符号时,用户就可以利用 DM 提供的 SQL 语句和数据库进行交互操作了,需要注意的是,在 DIsql 中 SQL 语句应以分号“;”结束。对于执行语句块,创建触发器,存储过程,函数,包,模式等时需要用“/”结束。

1.1  程序菜单启动

    如果在 WINDOWS 环境中安装了 DM 数据库产品,那么可以在应用菜单中找到SQL交互式查询工具,直接双击即可启动。然后使用 LOGIN 或 CONN 命令登录到指定数据库。

1.2.1自带 DIsql  工具启动

    DIsql 工具位于 DM 数据库安装目录的 bin 子目录下。双击启动,然后输入用户名、密码,或者直接回车输入缺省值就可登录到本地 DM 数据库实例。

1.2.2命令行启动 DIsql

    命令行启动 DIsql 适用于任何操作系统平台。下面以 WINDOWS 系统为例。

    命令行启动

    从命令行启动 DIsql 并登录到数据库。在命令行工具中找到 DIsql 所在安装目录,输入 DIsql 和登录方式后回车。

    DIsql 登录方式

DISQL 用法 1:disql –h|help    显示 disql 版本信息和帮助信息

DISQL 用法 2:disql[ [] [ | /NOLOG] [] ]

::=-S|-L

::=[/][*][@][:][?{UDP|TCP}][#@ssl_pwd]

::=||

::=` [{ }]

::=START [{ }]

::= -E “{;}”

  文中语法符号规定:

    内的内容是必选项;

    [] 内的内容是可选项;

    {} 内的内容可以出现一次或多次

    | 为或者;

    ::= 为定义符。后文语法用法与此相同。

中特殊字符的处理方法,不同操作系统,处理方法不同,详情参见《DISQL手册》

2、切换登陆

用户进入 DIsql 界面后,如果想切换到其他 DM 数据库实例。有两种实现方式:一是使用 LOGIN 命令;二是使用 CONN 命令。登录到远程数据库,必须在服务名处使用 IP 地址或网络服务名。

2.1LOGIN/LOGOUT

1.LOGIN  登录 主库

直接输入 LOGIN 命令后,屏幕会提示输入登录信息。

2. LOGOUT 从登录主库注销会话

LOGOUT 命令从登录主库注销会话。断开连接而不退出 DIsql。

2.2CONN[ECT] /DISCONN[ECT]

1.CONN[ECT] 连接(使用 CONN[ECT] 命令建立新会话时,会自动断开先前会话 。)

与login大致相同,不同之处在于conn后可直接加[/][*] [@],或者跟,然后按照 DIsql 提示输入来连接。

语法如下 :

CONN[ECT]

::={[/][*][@]}|

{/ AS }

::=[][:][?{UDP|TCP|IPC|RDMA}][#][@

]

:密码。如果密码中有特殊字符,需要特别处理。特殊字符指密码串中含有

的关键字符(/@:#*[]) 或双引号"。

{/AS }:使用不同的管理员账号进行本地登录,指定 AUTO 会进行自动匹配相应的管理员。

如:conn SYSDBA/SYSDBA@LOCALHOST:5237

2. DISCONN[ECT]  断开连接

DISCONN[ECT]:断开连接而不退出 DIsql。与 logout 功能一样。

3、使用DIdql

只需要输入一条SQL语句,回车即可。DIsql将SQL语句发送给DM数据库服务器并显示服务器返回结果。

4、退出DIsql

使用EXIT/QUIT命令

3、DIsql常用命令 3.1  帮助 HELP

DIsql 帮助命令,可以帮助用户查看其他命令的具体用法。用户可以看到其他命令系统显示的内容,概括为:

⚫  命令的标题

⚫  命令的文本描述

⚫  命令的简写(例如,AUTO 可以代替 AUTOCOMMIT)

⚫  可以向命令传递的强制参数和可选参数

HELP 显示指定命令的帮助信息。

语法如下:

HELP|? [topic]

topic:命令名称或者命令名称的首字母,查询某一命令用法或者某一字母开头的所有命令用法。

3.2  输出文件 SPOOL(只有 SPOOL OFF 之后,才能在输出文件中看到输出的内容)

将屏幕显示的内容输出到指定文件。

语法如下:

SPOOL { | OFF }

::= [CRE[ATE]|REP[LACE]|APP[END]]

:指定文件的绝对路径

CRE[ATE]:创建指定的文件,若指定的文件已存在,则报错,默认方式

REP[LACE]:创建指定的文件,若指定的文件已存在,则替换它

APP[END]]:将输出内容追加到指定文件的末尾

OFF:关闭 SPOOL 输出

执行以上语句后,查看该文件,发现打印成功。

3 .3 切换到操作系统命令 HOST

使用 HOST 命令可以不用退出 DIsql 就能执行操作系统命令。如果单独执行 host,则能够直接从 DIsql 界面切换到操作系统,之后可使用 EXIT 回到 DIsql 界面。

语法如下:

HOST[]

:操作系统命令。

3.4  获取对象结构信息 DESCRIBE

获取表或视图、存储过程、函数、包、记录、类的结构描述。

语法如下:

DESC[RIBE] |||||| ;

desc是用于查询出结果时对结果进行排序,是降序排序;

设置describe的显示方式中的depth、linenum、indent可显示列的结构信息。

linenum 为 ON 时,显示行号 ID、PID 信息;反之,行号 ID、PID 信息不显示;indent为 ON 时,name 的显示方式发生了缩进;反之,不发生缩进。

table/view:表或者视图名,可以查看其列名、列数据类型、列表是否可以取空值。

proc/fun/class:获取的内容为:1、存储函数/过程名、函数/过程类型,函数返回值类型;2、参数名、参数数据类型、参数输入输出属性、参数缺省值。

pkg:获取内容为:1、包内存储函数/过程名,函数/过程类型,函数返回值类型;2、包内参数名,参数数据类型、参数输入输出属性、参数缺省值。

record:获取的内容为:参数名、参数数据类型,参数是否可以取空值。

设置 depth为 1 时,表 EMPINFO 的结构信息只显示至第一层

3.5  定义本地变量 define 和 column

3.5.1define  DEF[INE] [|< VARIABLE >]

定义一个本地变量的替代变量,并重新赋值;或者输出该变量的值和类型。

def varlable = text ;申明一个变量,如果该变量存在则重新赋值,否则生成一个新的变量,并进行赋值。

DEF[INE] VARLABLE ;若该变量存在,则输出该变量的值和类型,否则报错。

DEF[INE] :输出DIsql中所有变量的值和类型。

当使用该命令定义变量时,如果变量值包含空格或区分大小写,则用引号引注。另外,使用“DEFINE 变量名”可以检查变量是否已经定义。DEFINE 定义的变量会保存在环境 DIsql 环境中,可以在 SQL 语句中使用。默认的变量前缀是&。

关闭变量替换:set define off

打开变量替换:set define on

define 变量与其他字符之间的连接字符是点号’.’

3.5.2column

 COL[UMN] [ []]

定义一个本地列或者表达式。

COL[UMN]:列举出所有的 COLUMN 变量信息。

COL[UMN] column | expr:列举出某个 column 或 expr,如果存在,则输出信息,否则报错。

COL[UMN] column | expr option:option 目前仅支持 NEW_VALUE,表示该column|expr的 值,同时作为变量存在。但如果该变量未赋值,通过 DEFINE 查询时,不会显示该变量。

COL[UMN] column

将变量 VARIABLE 与列名 column 之间的关联,默认值为 ON,表示已关联。

3.5.6  查看执行计划 EXPLAIN  EXPLAIN

3.5.7  设置异常处理方式 WHENEVER

用 WHENEVER 命令可以设置异常处理方式,继续执行或退出 DIsql。

WHENEVER SQLERROR

CONTINUE [ COMMIT | ROLLBACK | NONE ] |

EXIT [ SUCCESS | FAILURE | WARNING | n | | : ]

[ COMMIT | ROLLBACK ]

3.5.8  查看下一个结果集 MORE  more

当结果集过多,屏幕只能显示一个时,用户可以使用 MORE 命令切换到下一个结果集。

3.5.9  显示 SQL  语句或块信息 LIST  L|;

显示最近执行的 SQL 语句或者 PL/SQL 块信息。不显示 DIsql 命令。

3.5.10  插入大对象数据   @

当插入语句中包含大对象数据文件时,使用@。

3.5.11  缓存清理 CLEAR   CL[EAR]

清理指定操作本地缓存。

COL[UMNS]:清理所有的 COLUMN 变量信息。

SQL:清理本地 SQL 缓存信息。

SCR[EEN]:清理 DIsql 终端屏幕信息。

BUFF[ER]:同 SQL 功能一样,清理本地 SQL 缓存信息。

4、在DIsql中使用脚本

脚本中可存放用户经常使用的SQL语句和PL/SQL程序块,使用脚本就不必在每次使用数据库的时候反复输入经常使用的命令。

4.1编写脚本

4.2使用start命令运行脚本  ::=||

::=` [{ }]

::=START [     {}]

::= -E “{;}”

脚本可以在启动 DIsql 时就运行,或者在进入 DIsql 之后再运行。如果在启动时运行,只能使用;如果在进入 DIsql 之后,使用或者来运行脚本都都可以。在linux环境下运行脚本的话,特殊符号记得用反斜杠\或者‘进行转义。

DIsql运行完脚本后会自动执行一个提交的动作。

1. 启动 DIsql  时,运行脚本。

DIsql SYSDBA/SYSDBA `E:\notepad\script\test.sql

2.进入 DIsql  之后,运行脚本。

SQL>start E:\notepad\script\test.sql 或 SQL>`E:\notepad\script\test.sql

4.3使用 EDIT命令编辑脚本

DIsql 中使用 EDIT 命令来编辑指定的脚本文件。

语法如下:

ED[IT][]

:指定待编辑的脚本文件。

如果指定文件不存在,则创建该文件。

如果省略文件,则只会修改缓冲区中的最后一条 SQL 语句。DIsql 自动打开系统缺省的文本编辑器(WINDOWS 下使用 notepad),复制缓冲区中最后一条SQL 语句到文本中,这时用户可以对其中的内容进行编辑。修改完成之前,DIsql 一直处于等待状态。修改完毕,保存文件后,被修改的内容就会被写入缓存区。这对于修改错误命令很方便。当操作系统为 LINUX 或 UNIX 时,使用 vi 进行编辑。

修改指定的脚本文件(EDIT要大写)

4  如何在脚本中使用变量(具体可查看手册)



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有