SQL-Plus的使用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 。在查询时,通常一条记录会显示一行,如果一行显示不下,则会自动换行。用户输入数据时,当一行输入的值超过一行的最大值时,也会自动换行。