SQL-Plus的使用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SQL*Plus的使用

1. SQL*Plus介绍

SQL*Plus是oracle提供的一个工具程序,既可以在oracle服务器使用,也可以在oracle客户端使用。

SQL*Plus是一个最常用的工具,具有很强的功能,主要有:

1). 数据库的维护,如启动,关闭等

2). 执行SQL语句、执行PL/SQL程序

3). 执行SQL脚本

4). 数据的导出,报表

5). 应用程序开发、测试SQL/PLSQL

6). 生成新的SQL脚本

7). 供应用程序调用,如安装程序中进行脚本的安装

2. dual表

dual是一张系统表,同时也被定义成了public同义词。它只有一个字段和一条记录。该表本身的结构和数据没有什么意义,主要是借助该表进行其它操作。

Dual表的使用例如获取函数值、计算表达式的值:

说明:不要对dual表进行DDL与DML操作,只进行查询操作。

3. SQL*Plus使用

3.1 启动SQL*Plus及连接数据库

1). 不连接数据库

> sqlplus /nolog

2). 连接数据库

> sqlplus username/password

3). 使用连接字符串连接数据库

> sqlplus username/password@connect_identifier

4). 使用操作系统权限连接数据库

> sqlplus / as sysdba

3.2 SQL*Plus的命令

3.2.1 帮助命令

1). help命令

格式:help 命令名,用于知道某个具体命令的帮助信息。

如:SQL> help connect

2). describe命令

用户查看表的结构;获取函数,存储过程和包的描述。

如:SQL> desc user_tables

说明:在SQL*Plus中,所有命令都可以用前面的四个字母作为整个命令。

3.2.2 编辑命令

SQL*Plus会将上一次执行过的SQL命令(包括SQL语句和PL/SQL语句,包括一行或多行)保存到缓存区中,可以对缓存区中信息进行编辑。编辑后可以通过“/ ”命令执行修改后的缓存区中的命令,如果不修改,则是执行原有命令。

1). list [n] 命令

显示上一条命令中的第n行,如果不指定n,则显示上一命令的所有行,这样当前行就是最后一行。

如:

2). change命令

编辑当前行的内容,先用list命令指定当前行。语法为:

change /被修改字串/修改后的串

如:

3). 增加新行

在第一行插入一行,方法为:输入0,在0后输入文本。

在当前行后插入一行,方法为:输入input(或i),回车,输入新行,再回车,会提示再输入新行,如不想输入,输入点号,回车。

如:

4). 删除行

del --删除缓存区当前行,执行前先用list命令指定当前行

del n --删除缓存区指定的行

如:

5). 使用操作系统编辑器编辑

在SQL*Plus中输入edit命令,会自动打开系统的缺省的文本编辑器(Windows下为notepad,Linux下为ed,可以通过“define _EDITOR=…”更换编辑器),缓存区中内容被装到文本编辑器中,这时可以对其中的内容进行编辑(这时SQL*Plus处于等待状态),修改完毕后,保存文件后。被修改的内容就会被写入缓存区。这对于修改错误命令很方便。

6). save命令

格式:save 文件名[replace | append]

save命令的作用是将缓存区中内容保存到指定文件中。如果指定的文件不存在,将会创建,但如果文件目录不存在,将会失败。如果指定文件名的文件已存在,不指定replace或append 参数将会失败。指定replace表示将覆盖原文件内容,指定append表示将缓存区内容加到文件后。

7). get命令

格式:get 文件名

get命令的作用是将指定文件的内容加载到缓存区中,以供编辑或执行。

3.2.3 spool命令

SQL> spool 文件名

执行该命令后,如果指定的文件不存在,则会按指定的文件名创建一个空文本文件,如果目录不存在,会失败。如果指定的文件已存在,则文件内容将会被清空。执行上述命令后,此命令后的所有输出(包括命令、输出提示信息、错误信息等)都会被写入指定的文件。需要说明的时,并不是每输出一行信息,就会立即写入文件,有个缓存过程。

SQL> spool off

上述命令就是停止存储,将前面所有输出立即写入文件。

SQL> spool out

除完成spool off命令的功能外,还打印输出的信息。

说明:spool off/out命令必须与spool命令一一对应。

Spool命令的用途主要有如下:

1) 导出数据

2) 记录脚本的执行日志

3) 生成新的SQL脚本

3.2.4 start/@ 命令

SQL> start/@ 脚本文件名

这样可以将相关的SQL/PLSQL语句,SQL*Plus的命令写在脚本中,从而执行。最常用的就是安装脚本,升级脚本。

如:

SQL> start e:\\test.sql

SQL> @e:\\test.sql

3.2.5 设置SQL*Plus环境(set命令)

可以通过设置参数来改变SQL*Plus的一些属性,如显示等。可在SQL>提示符下输入set命令来改变参数的值。

查看参数的当前设置值的命令是:show 参数名。

常见的设置参数命令有:

1). set pagesize [n]

用于设置每页的行数,范围为1~ 50000,如果为0,则表示不分页,不带n,表示为0。否则,缺省情况下,当查询结果的行数超过一页的行数时,就会分页显示,每页的开头会显示列标题信息。

2). set newpage [n]

该命令与pagesize结合使用,用来设置每一页的顶行的空行数,范围为0~ 999,不带n,表示为0。缺省值为1。

3). set linesize n

设置每行能容纳的字符数,范围为1~32767 。在查询时,通常一条记录会显示一行,如果一行显示不下,则会自动换行。用户输入数据时,当一行输入的值超过一行的最大值时,也会自动换行。

相关文档
最新文档