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命令打开脚本文件直接修改。
10直接运行脚本文件。
从上面我们可以看出直接@我们所想要执行的脚本文件。我们就可以直接运行该文件中的sql了。你也可以使用start命令运行脚本文件。
11.spool命令:在这个命令之后屏幕上所显示的一切都保存到指定的目录下。在spool命令后,你可以执行一些查询,最后在输入spool off命令才能看到在指定的文件中看到报表。这个主要是用来保存报表时使用的。