sqlplus命令
使用sqlplus登录之后,可以使用**buff(缓存)**来存储/执行/修改上一条运行的sql语句 。
- buff中只能存储一条sql语句,但是这条sql语句可能有很多行
- 每次放入新的sql语句,会把之前的覆盖掉
- 每次执行sql语句,都会把这个sql语句放到buff里面
sqlplus相关的命令:
l 查看缓存中的sql语句
a 在[定位]的那一行后面追加新的内容
i 在[定位]的那一行下面插入新的一行
c 替换[定位]的那一行中的某些字符串 ,格式为:c/老的字符串/新的字符串
del 删除[定位]的那一行内容n 后面加内容可以重写这一行
**$ ** 后面跟一个终端命令,例如$cls清屏,linux中使用!
/ 执行缓存sql命令
使用 l 命令查看buff中的sql后,可以直接输入行数,然后回车,这就是定位到了这一行
具体使用:
例如:我们要查所有员工的id,last_name,first_name
select id,first_name,last_name
from s_emp
where id<=10;
此时,buff中存的sql语句就是上面这句
输入“/”会执行buff中的sql语句,如图:
输入"l"查看buff中的sql语句,如图:
使用l查看buff中的sql语句后,可以直接输入行数,回车,表示定位到了输入的行数这一行,然后可以进行追加(a),插入(“i”),删除(del),重写(n),替换(c)等命令
如:删除
注意缓存中似乎没有分号,所以在删除后不需要在删除行前一行添加分号
如果要清空buff中的语句
clear buffer
spool命令
可以记录操作的过程
如下:先后输入下面几个sql语句
spool test.sql //将接下来的sql语句以及sql的运行结果保存到文件中
select id,first_name from s_emp;
select id,last_name from s_emp;
spool off; //关闭spool功能
保存的文件同样在电脑用户目录下
后缀改为了.LST,如下
其他一些命令
save test.sql //buff中的sql语句保存在test.sql文件中
get test.sql //把test.sql中的内容在加载到buff中,但是没有运行
start test.sql //把test.sql中的内容在加载到buff中并且执行
@test.sql //把test.sql中的内容在加载到buff中并且执行
edit file_name //使用系统默认编辑器去编辑文件
使用:
例如:将buff中的sql语句保存到test.sql文件中
save test.sql;
保存的文件在哪?在你电脑的用户文件下,如我的:
例如:把test.sql中的内容在加载到buff中并且执行
start test.sql;
//或者
@test.sql;
//都是一样的
例如:保存了test.sql后可以用系统编辑器进行编辑
//指明编辑的文件
edit test.sql;
//不指明编辑文件名时,表示编辑上次最新保存的sql文件
edit;
注意语句最后是没有分号的,但有一个/,表示语句结束
打开系统编辑器后就不能在命令端编辑了,需要先把系统编辑器关闭才能继续使用命令端
机智的人立马就想到了在命令端的长句的sql语句写错时该怎么改了,哈哈哈