内部命令

内部变量为成功登录后,可执行的命令,内部命令的执行不需要分号结束,输入命令后回车即可执行。

  • clear

描述:清空查询缓冲区,命令不区分大小写。

语法: clear 或者 \r 或者 \reset

  • copyright

描述:展示神通数据库发布信息,命令不区分大小写。

语法: copyright

  • display

描述:显示上一次操作的sql语句,命令不区分大小写。

语法: display

示例: 输入的查询语句是SELECT * FROM TEST;

再输入display则会把当前查询缓冲区内容(即上一条查询语句)显示出来

../../../../_images/image320.png
  • echo

描述:向标准输出输出指定文本,可以输出临时字符串,也可以输出已经定义好的变量,命令不区分大小写。qecho、\qecho、prompt命令作用相同。

语法: echo aaa 或者 echo :a 或者 \echo aaa 或者 \echo :a

  • save

描述:将当前查询缓冲区写出到文件,命令不区分大小写。

语法: save filename

  • run

描述:向服务器发送 SQL 命令并且把结果写到文件或者管道,如果没有给出参数,则写到标准输出。执行一次RUN只能对上一条SQL语句有用,命令不区分大小写。

语法: run [FILENAME]

示例: SELECT * FROM TEST;

RUN C:/111.txt 把上一条语句查询的结果输出到C盘下的111.txt中,如果没有该文件则建立该文件。注意路径中的’’需要替换成’/’,如:

d:shentongkstorebin111.txt

替换成:

d:/shentong/kstore/bin/111.txt

  • @

描述:isql可通过@命令指定sql文件并执行文件中的sql语句,命令效果类似于启动参数-f,此参数为兼容Oracle的sqlplus工具执行sql语句的方式。

语法: @FILENAME 或者 //i [FILENAME] 或者 //include [FILENAME]

../../../../_images/image418.png
  • edit

描述:用一个外部编辑器编辑当前查询缓冲区或者文件,命令不区分大小写。

语法:edit filename 或者 \e filename 或者 \edit filename

示例: SQL> edit c:1234.txt

会自动打开该文本编辑器

../../../../_images/image520.png
  • help

描述:help后不带参数的话显示所有支持的SQL命令。输入help后带SQL命令显该命令的详细帮助。输入info后带SQL命令显示该命令的更详细帮助(如参数,注释,示例等),命令不区分大小写。

语法:help [NAME] 或者 \h [NAME]

示例: 输入HELP显示可用SQL命令,只截取部分图片,作为参考

../../../../_images/image617.png

输入HELP跟一条SQL命令,可以显示详细帮助

../../../../_images/image713.png

输入INFO跟一条SQL命令,可以显示更详细帮助,如下图,截取了部分图片

../../../../_images/image815.png
  • history

描述: 将isql的命令行的历史记录打印为文件名,如果省略文件名,默认为标准输出,如果在没有 Readline 支持的情况下构建 isql,则此命令不可用.

语法:history [NAME] 或 \s [NAME]

  • info

描述:功能与help一致,部分信息显示更详细,命令不区分大小写。

语法:info [NAME]

示例:

../../../../_images/image910.png
  • a

描述:切换为非对齐输出模式。缺省输出模式是对齐的。

语法: a 或者 \a

示例:

../../../../_images/image0.png
  • t

描述: 关闭打印列名称和结果行计数脚注等信息。

语法: t 或者 \t

示例:

../../../../_images/image1014.png
  • !

描述: 执行一个系统命令

语法: ! [COMMAND] 或者 \! [COMMAND]

示例: windows平台,执行!cls命令实现清屏操作,如下图

../../../../_images/image1111.png
../../../../_images/image1213.png

Linux下执行: !pwd 或 \!pwd

  • ?

描述: 列出所有的isql支持的参数,并解释其作用。

语法: ? 或者 \?

备注:目前此命令弃用,执行后显示为空

  • exit

描述: 退出isql,不区分大小写

语法: exit

  • \q

描述: 退出isql,也可以写\quit。与exit命令相同功能

语法: \q 或 \quit

  • \set

描述: 定义一个内部变量。

语法: \set [NAME [VALUE]]

示例:

../../../../_images/image1312.png
  • \x

描述:打开扩展表格式模式。

语法:\x [true | false | on | off | yes | no | 0 | 1]

示例:执行\x后,将结果集的显示由列转为行的方式显示。

../../../../_images/image146.png
  • \crosstabview

描述:显示交叉表,colA列为交叉表的垂直标题,colB为交叉表的水平标题,colC为交叉表的结果输出列,查询表的列数只能有三列,使用\crosstabview不指定参数时默认第一列为垂直标题,第二列为水平标题,第三列为结果输出列

语法:\crosstabview [colA [colB [colC]]]

示例:

../../../../_images/image293.png

注解

\crosstabview命令针对的是输入的上一条为select类型的语句,如果输入的上一条语句为非select类型语句,则不会显示交叉表,则会执行上一条所执行的语句,使用\crosstabview时,需要确保游标分页功能关闭

  • \setenv

描述:设置系统环境变量的值,name为系统变量名,value为变量值,如果name不在系统环境变量中,则临时新增一个系统环境变量名及对应值,当前设置只在当前程序中有效

语法:\setenv name value

  • \getenv

描述:获取系统变量的值或通过\setenv命令设置的值,isql_var为需要存入的isql变量,env_var为系统变量名或通过setenv设置的变量名

语法:\getenv isql_var env_var

示例:

../../../../_images/image303.png
  • \if \elif \else \endif

描述: 执行一个匿名块,当\if和\elif中的value的条件为真时,可直接结束当前匿名块,如果\if的条件为假时,\if条件下的语句将无法执行,可以输入\else或\endif结束当前匿名块,也可以输入\elif继续执行,直到\elif中的value值为真时,即可结束当前匿名块

语法:\if value

\elif value

\else

\endif

示例:

../../../../_images/image3110.png

注解

\if、\elif命令中的value只能使用布尔值(0和1值或者true和false值),如果使用\if value,value值中的值为非布尔值,则匿名块无效,使用\elif时,需要最近\if的value值为假时,才会生效,否则\elif value无效,如果在匿名块中使用\elif,如果value值不为布尔值,则该\elif为假

  • \sf \sv

描述:\sf命令可以查看函数或存储过程体中的定义,\sv命令可以查看视图的定义,使用\sf+或\sv+时,可以显示定义的函数或存储过程或视图体中的行数

语法:\sf[+] functionname 或 \sv[+] viewname

示例:

../../../../_images/image324.png
  • \H

描述: 将查询输出的格式转换为HTML输出格式,如果该功能已打开,则切换回默认对齐文本格式

语法: \H 或者 \html

示例:

../../../../_images/image334.png
  • \T

描述: 设置HTML输出格式中,table标签的名称,如果不设置label_name,则不显示table标签的名称

语法: \T [label_name]

示例:

../../../../_images/image344.png
  • \encoding

描述: 设置字符集编码,该设置只在当前窗口有效

语法: \encoding encoding_name

  • \f

描述: 设置非对其模式时,输出字段的分隔符,默认为'|'

语法: \f string

  • \g

描述: 执行上一条sql语句,如果指定filename,则将上一条sql语句的执行结果写入文件中

语法: \g [filename]

  • \l

描述: 查询所有数据库的名称、所属用户以及字符集

语法: \l 或者 \list

注解

使用\l+ 或者使用 \list+ 可以查看比\l 或者 \list 更多的信息

  • \p

描述: 查看上一条执行的SQL语句

语法: \p 或者 \printf

  • \password

描述:修改当前用户的登录密码

语法: \password

  • \prompt

描述: 提示用户提供分配给变量名称的文本,可以指定可选的提示字符串

语法: \prompt [text] name

示例:

../../../../_images/image355.png
  • \C

描述: 设置表显示标题,输入\C 则取消显示标题

语法: \C [value]

示例:

../../../../_images/image364.png
  • \cd

描述: 更改当前isql的工作目录,如果没有参数,则设置为当前用户的主目录

语法: \cd [dir]

  • \conninfo

描述: 查看当前连接信息,包括连接的数据库名称、用户名、端口号、端口号

语法: \conninfo

  • \unset

描述: 删除一个可删除的变量

语法: \unset varname

  • \w

描述: 将上一条执行sql语句写入文件中

语法: \w filename 或者 \write filename

  • \z

描述:查看系统视图、表、视图、序列、外部表的访问权限

语法: \z [name]