当前位置: Oracle DBA培训网-优技培训 >> dba培训 > DBA培训教程 >

dba培训教程:oracle常用的SQL PLUS命令详解

dba培训教程:oracle常用的SQL PLUS命令详解

dba培训教程:oracle常用的SQL PLUS命令详解

Oracle的sql*plus是与oracle进行交互的客户端工具。在sql*plus中,可以运行sql*plus命令与sql*plus语句。我们通常所说的DML、DDL、DCL语句都是sql*plus语句,它们执行完后,都可以保存在一个被称为sql buffer的内存区域中,并且只能保存一条最近执行的sql语句,我们可以对保存在sql buffer中的sql 语句进行修改,然后再次执行,sql*plus一般都与数据库打交道。除了sql*plus语句,在sql*plus中执行的其它语句我们称之为sql*plus命令。它们执行完后,不保存在sql buffer的内存区域中,它们一般用来对输出的结果进行格式化显示,以便于制作报表。 下面我们就一起来看一下常用的sql*plus命令。

1.desc命令:查看表结构命令

2.set line命令:设置显示数据宽度。默认的界面显示宽度为80

我们可以看到上面用默认显示数据宽度80查看的查询结果。可以清楚的看到一行显示不完所有的数据。这样看起来感觉非常难看。下面我们设置显示数据宽度来看一下效果

这样数据看起来是不是好受多了。所有的数据字段都在一行显示。这就是set line 命令的作用啦。

3.L命令和n text命令:L命令是查看我们刚才所输入的sql命令,也就是在缓存区的sql语句。N text命令是修改缓冲区的sql的第n行为text的。

从上面的例子我们可以看出。我们输入L命令,显示出了我们上一次刚刚输入国的sql语句。然后用到了n text 命令修改了第一行的sql语句。然后又用了L显示缓冲区的sql为我们修改后的sql、

4.“/”命令:执行缓冲区sql命令

我们在上面知道我们可以利用n text 命令对我们上一次所输入的sql进行修改。那么修改后的sql我们要怎么执行呢?难道要在重新输入一遍吗?那这样这个修改命令就没有什么意义了。Sqlplus为我们提供了“/”命令。执行缓冲区的sql语句。

5.n 命令和 a 命令:设置第n行为当前行命令和在当前行追加sql命令

有时候我们在写sql的时候会出现在第n行忘记加一些关键语句的时候。这是我们就可以使用这两个命令。先用n命令选择我们要追加sql的行为当前行。然后在用a命令在当前行追加sql。

例如:

突然我们不仅想看empno这个字段的信息。我们还想看到job字段的信息。我们可以如下做法:

6.del n 命令,删除第n行命令。

这个命令应该很好理解吧。直接看例子吧:

7.c命令:“c/原文/新的正文”这个命令主要是用来把当前行的原文内容改变为新的正文。也就是用新的正文替换为新的正文;

这里要注意的是。在替换之前一定要把要替换的原文所在的行设置为当前行。

从上面可以看出。我一开始把字段名empno写成了empon。所以我要把字段名改过来。先把empon所在的行设置为当前行。然后利用c命令进行修改。

8.如何生存脚本文件:将sql缓冲区中的语句存入指定.sql文件中,该文件就是所谓的脚本文件

利用save命令存入指定的文件夹中。注:在保存之前一定要保证该文件夹存在。

9.如何编辑脚本文件。

1.)利用get命令把本地的脚本文件加载到sqlplus里。

然后我们就可以利用C/A/DEL等命令对该文件进行修改了。

2.)。你也可以利用ed命令打开脚本文件直接修改。


SQL> ed d:\sql\mysql

10直接运行脚本文件。

从上面我们可以看出直接@我们所想要执行的脚本文件。我们就可以直接运行该文件中的sql了。你也可以使用start命令运行脚本文件。

11.spool命令:在这个命令之后屏幕上所显示的一切都保存到指定的目录下。在spool命令后,你可以执行一些查询,最后在输入spool off命令才能看到在指定的文件中看到报表。这个主要是用来保存报表时使用的。

技术沙龙MORE+

标签错误:<!-- #Label# labelId=20160707140604 moduleId=1 classId=12231768634 orderby=2 fields=url,title,u_info attribute= datatypeId=22192428132 recordCount=3 pageSize= <htmlTemplate><dt><img src="/images/index_26${index}.jpg" width="100" height="62" /><a href="$url" title="${title}">${title}</a><span>${api.left(u_info,60)}</span></dt></htmlTemplate> -->
我要参加技术沙龙