首页 > 数据库 >c、SQLPlus命令

c、SQLPlus命令

时间:2023-08-13 09:33:22浏览次数:33  
标签:文件 name 命令 SQLPlus Plus file SQL

SQL*Plus命令

SQL*Plus与数据库的交互

Oracle的SQL*Plus是与Oracle进行交互的客户端工具,在 SQL*Plus中,可以运行SQL*Plus命令与SQL*Plus语句,主要介绍SQL*Plus命令。

SQL*Plus是一个基于C/S两层结构的客户端操作工具,包括客户层(即命令行窗口)和服务器层(即数据库实例),这两层既可以在一 台主机上,也可以在不同主机上。SQLPlus是一个非常重要的操作 Oracle数据库的实用工具,本书中大多数关于SQL和PL/SQL的示例都是在SQLPlus环境下进行演示的。

除了Oracle自身提供的SQLPlus工具以外,还有许多第三方的Oracle开发工具,如TOAD和PL/SQL Developer等,它们均具有与 SQL*Plus同样的功能,甚至还具备了SQL*Plus不具备的许多新功 能。

SQL*Plus工具主要用来进行数据查询和数据处理。利用 SQL*Plus可将SQL和Oracle专有的PL/SQL结合起来进行数据查询和处理。SQLPlus工具具备以下功能。

  • 定义变量,编写SQL语句。
  • 插入、修改、删除、查询,以及执行命令和PL/SQL语句。例如,执行SHOW PARAMETER命令。
  • 格式化查询结构、运算处理、保存、打印机输出等。
  • 显示任何一个表的字段定义,并实现与用户进行交互。
  • 完成数据库的几乎所有管理工作。例如,维护表空间和数据表。 运行存储在数据库中的子程序或包。
  • 以sysdba身份登录数据库实例,可以实现启动/停止数据库实例。

设置SQL*Plus的运行环境

SQL*Plus的运行环境是用来输入、执行SQL*Plus命令和显示返 回结果的场所,设置合适的SQL*Plus运行环境,可以使SQL*Plus能 够按照用户的要求运行和执行各种操作。SET命令也称SET变量或维护 系统变量,利用它可为SQL*Plus交互建立一个特殊的环境。例如,设置屏幕上每一行能够最多显示字符数、设置每页打印的行数、设置某个列的宽度等。下面将对SET命令进行详细讲解。

SET命令

在Oracle 11g数据库中,用户可以使用SET命令来设置SQL*Plus 的运行环境,SET命令的语法格式如下。

SET system_variable value
  • system_variable:变量名。
  • value:变量值。

SET命令的常用变量名、可选值及其说明如表所示。

image-20221201153709441

例如,用户可以设置在SQL*Plus命令提示符“SQL>前面显示当前的系统时间。但需要注意的是,通过SET命令设置的环境变量是临时的,不是永久的。当用户退出SQLPlus环境后,用户设置的环境参数会全部丢失。

常用SQL*Plus命令

在SQL*Plus环境中操作Oracle数据库,除了使用SQL语句外,用户接触比较多的就是SQLPlus命令,它执行完成后,不会保存在SQL缓冲区中。下面将介绍一些常用的SQLPlus命令。

HELP命令

SQL*Plus工具提供了许多操作Oracle数据库的命令,并且每个命令都有很多选项,把所有命令的选项都记住,这对于用户来说非常困难。为了解决这个难题,SQL*Plus提供了HELP命令来帮助用户查询指定命令的选项。HELP可以向用户提供被查询命令的标题、功能描述、缩写形式和参数选项(包括必选参数和可选参数)等信息。HELP命令的语法形式如下。

HELP|? [topic]

“?”表示一个命令的部分字符,这样就可以通过提供命令的部分 字符以模糊查询的方式来查询命令格式;topic参数表示将要查询的命 令的完整名称。若省略“?”和topic参数,直接执行HELP命令,则会 输出HELP命令本身的语法格式及其功能描述信息。

DESCRIBE命令

在SQL*Plus的众多命令中,DESCRIBE命令可能是被使用得最频繁的一个,它用来查询指定数据对象的组成结构。例如,通过DESCRIBE命令查询表和视图的结构,查询结果就可以列出相应对象各个列的名称、是否为空及类型等属性。DESCRIBE命令的语法格式如下。

DESC[RIBE] object_name;

DESCRIBE可以缩写为DESC,object_name表示将要查询的对象名称。

SPOOL命令

SPOOL命令可以把查询结果输出到指定文件中,这样可以保存查询结果并方便打印。SPOOL命令的语法格式如下。

SPO[OL] [file_name[.ext] [CRE[ATE] | REP[LACE] | APP[END]] |OFF | OUT

参数file_name用于指定脱机文件的名称,默认的文件扩展名为 LST。在该参数后面可以跟一个关键字,该关键字有以下几种情况。

  • CRE[ATE]:表示创建一个新的脱机文件,这也是SPOOL命令的默认状态。
  • REP[LACE]:表示替代已经存在的脱机文件。
  • APP[END]:表示把脱机内容附加到一个已经存在的脱机文件中。
  • OFF | OUT:表示关闭SPOOL输出。

注意:只有使用SPOOL OFF或SPOOL OUT命令关闭输出,才会在输出文件中看到输出的内容,否则输出文件中无内容或无更新内容。

DEFINE命令

该命令用来定义一个用户变量并且可以分配给它一个CHAR值,其 语法格式如下。

DEF[INE] [variable] | [variable = text]
  • variable:表示定义的变量名。
  • text:变量的CHAR值。

SHOW命令

该命令用来显示SQLPlus系统变量的值或SQLPlus环境变量的值,其语法格式如下。

SHO[W] option

option表示要显示的系统选项,常用的选项有ALL、 PARAMETERS [parameter_name]、SGA、SPOOL、USER等。

EDIT命令

SQL语句或PL/SQL块在执行完毕之后,可以被存储在一个被称为 SQL缓冲区的内存区域中,用户可以从SQL缓冲区中重新调用、编辑或 运行最近输入的SQL语句。若要编辑SQL缓冲区中的最近一条SQL语句 或PL/SQL块,既可以在SQL*Plus环境中直接编辑,也可以使用EDIT 命令实现在记事本中编辑。EDIT命令用来编辑SQL缓冲区或指定磁盘 文件中的SQL语句或PL/SQL块,其语法格式如下。

EDIT [file_name[.ext]]

参数file_name表示要编辑的磁盘文件名。若在SQL*Plus中只输 入EDIT或者它的简写形式ED,而不指定file_name参数的值,则表示 编辑SQL缓冲区中的最近一条SQL语句或PL/SQL块。

执行EDIT命令后,SQL*Plus工具将打开一个包含SQL语句或 PL/SQL块的记事本,用户就可以在记事本环境下编辑SQL语句或 PL/SQL块。

技巧:如果要执行SQL缓冲区中最近一条SQL语句,可以使用运行命令“/”来执行,这样可以简化操作。

SAVE命令

该命令实现将SQL缓冲区中的最近一条SQL语句或PL/SQL块保存到一个文件中,其语法格式如下。

SAVE file_name

参数file_name表示要保存到的文件名,如果不为保存的文件指定路径,则该文件会保存在Oracle系统安装的主目录中(但不建议这样做)。如果不为保存的文件指定扩展名,则默认扩展名为SQL,即保存的文件为一个SQL脚本文件。

技巧:如果要清空SQL缓冲区中的内容,可以使用CLEAR BUFFER命令。

GET命令

该命令实现把一个SQL脚本文件的内容放进SQL缓冲区,其语法格式如下。

GET [FILE] file_name[.ext] [LIST | NOLIST]
  • file_name:要检索的文件名,如果省略了文件的扩展名,则默认文件的扩展名为SQL。
  • LIST:指定文件的内容加载到缓冲区时显示文件的内容。
  • NOLIST:指定文件的内容加载到缓冲区时不显示文件的内容。

执行GET命令时,如果file_name参数不包括被检索文件的路径, 则SQL*Plus工具会在Oracle系统安装的主目录下检索指定文件。在SQL*Plus找到指定文件后,会把文件中的内容加载到SQL*Plus缓冲区,并显示该文件的内容。

START和@命令

这两个命令都可以用来执行一个SQL脚本文件,它们的语法格式如下。

STA[RT] {url|file_name[.ext]} [arg ...]
@ {url|file_name[.ext]} [arg ...]
  • url:表示要执行的SQL脚本文件的路径。
  • file_name:表示包含SQL脚本的文件名。
  • arg:其他参数。

注意:上面的代码若使用“@ c:\emp.txt”命令可以得到同样的结果。

格式化查询结果

COLUMN命令

该命令可以实现格式化查询结果、设置列宽度、重新设置列标题等功能。其语法格式如下。

COL[UMN] [column_name | alias | option]
  • column_name:用于指定要设置的列的名称。
  • alias:用于指定列的别名,通过它可以把英文列标题设置为汉字。
  • option:用于指定某个列的显示格式,option选项的值及其说明如表所示。

image-20221201161511838

如果在关键字COLUMN后面未指定任何参数,则COLUMN命令将显示SQL*Plus环境中所有列的当前定义属性;如果在COLUMN后面指定某个列名,则显示指定列的当前定义属性。接下来将对表中的常用option选项值进行举例说明。

TTITLE和BTITLE命令

在SQL*Plus环境中,执行SQL语句后的显示结果在默认情况下包 括列标题、页分割线、查询结果和行数合计等内容,用这些默认的输出 信息打印报表,并不十分美观。如果能为整个输出结果设置报表头(即 头标题)、为每页都设置页标题和页码、为整个输出结果设置报表尾(如打印时间或打印人员),那么使用这样的输出结果打印报表一定非常美观。为了实现这些功能,SQL*Plus工具提供了TTITLE和BTITLE 命令,这两个命令分别用来设置打印时每页的顶部和底部标题。其中, TTITLE命令的语法格式如下。

TTI[TLE] [printspec [text|variable] ...] | [OFF|ON]
  • printspec:用来作为头标题的修饰性选项。printspec选项 的值及其说明如表所示。
  • text:用于设置输出结果的头标题(即报表头文字)。
  • variable:用于在头标题中输出相应的变量值。
  • OFF:表示禁止打印头标题。
  • ON:表示允许打印头标题。

image-20221201162057865

注意:BTITLE的语法格式与TTITLE的语法格式相同。如果在TTITLE或 BTITLE命令后没有任何参数,则显示当前的TTITLE或BTITLE的定义。

标签:文件,name,命令,SQLPlus,Plus,file,SQL
From: https://www.cnblogs.com/simpleness/p/17626156.html

相关文章

  • maven系列:基本命令(创建类、构建打包类、IDEA中操作)
    目录一、创建类命令创建普通Maven项目创建WebMaven项目发布第三方Jar到本地库中二、构建打包类命令编译源代码编译测试代码编译测试代码打包项目清除打包的项目清除历史打包并重新打包清除并install到本地查看当前项目已被解析的依赖上传到私服三、IDEA中Maven操作通过Terminal执......
  • shell命令概述 Shell作用:命令解释器 介于操作系统内核与用户之间,负责解释命令行 获得
    shell命令概述Shell作用:命令解释器介于操作系统内核与用户之间,负责解释命令行获得命令帮助内部命令help命令的“--help”选项使用man命令阅读手册页命令行编辑的几个辅助操作Tab键:自动补齐反斜杠“\”:强制换行快捷键Ctrl+U:清空至行首快捷键Ctrl+K:清空至行尾快捷键Ctr......
  • 常用网络配置命令(2)
    常用网络测试命令11、ping测试网络连通性-cping的个数-tttl值-sping包大小-iping的间隔2、追踪数据包网络路径traceroute用于追踪数据包在网络上的传输时的全部路径,它默认发送的数据包大小是40字节tracepath用来追踪并显示报文到达目的主机所经过的路由信息mtr结合了tracero......
  • mac下配置git自定义快捷命令
    mac下配置git自定义快捷命令 对于经常使用终端命令来对git仓库进行操作来说,如果能用别名来代替,那可太省事了。mac就支持这样的配置 1.指定自定义别名 vi ~/.bash_profile 配置环境变量,插入类似下面的内容(等号右边的别名根据自己习惯自定义即可):1aliasgcd='git......
  • cmd命令
    1根据端口号查看进程号PID ......
  • git常用的命令
    一.克隆git上的项目1.1克隆git上的主分支项目gitclone项目链接1.1克隆git上的其他分支项目标题:SQLServer导入和导出向导------------------------------操作无法完成。------------------------------其他信息:------------------------------按钮:确定......
  • linux中常用端口查询命令
    1、lsof-i:80 用于查看某一端口的占用情况2、netstat-tunlp|grep80 用于查看指定的端口号的进程情况......
  • 解决linux mysql命令 bash mysql command not found 的方法
    错误:root@DB-02~]#mysql-uroot-bash:mysql:commandnotfound原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。首先得知道mysql命令或mysqladmin命令的完整路......
  • Ubuntu 命令修改系统语言
    在安装Ubuntu-server版本时遇见没有中文的选择,但是我们又需要中文环境。那么只能先通过英文将系统安装好后,通过以下命令行设置为中文了。sudodpkg-reconfigurelocales⚠️注意:回车运行之后的界面可能有所不同,所我也就不截图了。大家直接选择zh_CN.UTF-8即可,选择确认回车,然后系统重......
  • shell命令概述 Shell作用:命令解释器 介于操作系统内核与用户之间,负责解释命令行 获得
    shell命令概述Shell作用:命令解释器介于操作系统内核与用户之间,负责解释命令行获得命令帮助内部命令help命令的“--help”选项使用man命令阅读手册页命令行编辑的几个辅助操作Tab键:自动补齐反斜杠“\”:强制换行快捷键Ctrl+U:清空至行首快捷键Ctrl+K:清空至行尾快捷键Ctr......