SQLPLUS环境命令
来源:互联网 发布:梯级水电站优化调度 编辑:程序博客网 时间:2024/06/07 20:48
sqlplus常用命令
当输入SQL语句时,SQL在SQLPLUS里的缓存中,这个缓存很小,只能允许一个SQL语句,当下一个SQL输入时,上一个SQL就被覆盖了
为了更有效的输入和编辑SQL语句,SQLPLUS提供了一些常用命令,与SQL语句相比,SQLPLUS里的命令可以缩写.
查看sqlplus里的所有命令
help index
查看sqlplus里某个命令的帮助
help cmd
show all 列出所有当前参数值
set line[size]{80|n}
设置显示宽度 默认是80 n可以自己定义
set line 100
l列出当前缓冲区内容
n整数.缓冲区中的指定行号
c/OLD/NEW 替换 NEW部分不写则是删除的意思
/ 或 r 运行
a 追加内容 一般和n先提取行后追加
del n 删除第n行的整行
1.输入错误的修正 方法一:
seker> select ename,sal
2 from emq
3 where sal <=1000;
from emq
*
ERROR at line 2:
ORA-00942: table or view does not exist
执行后发现输入错误
seker> l
1 select ename,sal
2 from emq
3* where sal <=1000
L列出命令清单 发现第2行emp写成emq
seker> 2
2* from emq
N命令提取指定行
seker> c/q/p
2* from emp
c/OLD/NEW 替换
seker> l
1 select ename,sal
2 from emp
3* where sal <=1000
列出当前的缓冲区查看
seker> /
ENAME SAL
---------- ----------
SMITH 800
JAMES 950
seker>
/执行当前缓冲区的命令
2.输入错误的修正 方法二:
seker> select ename,sal
2 from emq
3 where sal <=1000;
from emq
*
ERROR at line 2:
ORA-00942: table or view does not exist
执行后发现输入错误
seker> l
1 select ename,sal
2 from emq
3* where sal <=1000
L列出命令清单 发现第2行emp写成emq
seker> 2 from emp
n text 命令修改指定行的内容
seker> r
1 select ename,sal
2 from emp
3* where sal <=1000
ENAME SAL
---------- ----------
SMITH 800
JAMES 950
seker>
r执行当前缓冲区的命令
a 追加操作
seker> l
1 select ename,sal
2 from emp
3* where sal <=1000
seker> 1
1* select ename,sal
seker> a ,job,deptno
1* select ename,sal,job,deptno
seker> l
1 select ename,sal,job,deptno
2 from emp
3* where sal <=1000
seker> /
ENAME SAL JOB DEPTNO
---------- ---------- --------- ----------
SMITH 800 CLERK 20
JAMES 950 CLERK 30
seker>
del n命令 不可以简写为d
idle> l
1 select ename,sal,job,deptno
2 from emp
3* where sal <=1000
idle> d 3
SP2-0042: unknown command "d 3" - rest of line ignored.
idle> del 3
idle> l
1 select ename,sal,job,deptno
2* from emp
idle>
将当前缓冲区的内容另存到文件
idle> l
1 select ename,sal,job,deptno
2* from emp
idle> save abc.sql
Created file abc.sql
idle> host ls
abc.sql afiedt.buf oracle sqlnet.log
idle> !cat abc.sql
select ename,sal,job,deptno
from emp
/
idle>
加载文件中的语句到缓冲区
idle> l
1* select * from emp
idle> get abc.sql
1 select ename,sal,job,deptno
2* from emp
idle> l
1 select ename,sal,job,deptno
2* from emp
idle>
编辑缓冲区
通过定义编辑器 define _editor = "vi"
或写在SQLPLUS环境变量文件中定义编辑器$ORACLE_HOME/sqlplus/admin/glogin.sql
之后执行ed
idle> !grep 'DEFINE_EDITOR' $ORACLE_HOME/sqlplus/admin/glogin.sql
DEFINE _EDITOR = "vim" /* linux */
DEFINE _EDITOR = "notepad" /* windows */
idle> ed
Wrote file afiedt.buf
直接运行脚本 @file 或 start file
idle> !ls
abc.sql afiedt.buf oracle sqlnet.log
idle> @abc.sql
idle> start abc.sql
只装载不运行脚本
get file
将输出执行过程中的所有操作和输出另存到文件(屏幕录像) spool file .... spool off
idle> spool xyz.txt
idle> select ename,job,sal from emp where sal <=1000;
ENAME JOB SAL
---------- --------- ----------
SMITH CLERK 800
JAMES CLERK 950
idle> spool off
idle> !cat xyz.txt
idle> select ename,job,sal from emp where sal <=1000;
ENAME JOB SAL
---------- --------- ----------
SMITH CLERK 800
JAMES CLERK 950
idle> spool off
idle>
col 列名 for [a]n 设置列的长度和显示类型(数值或字符)
col ename for a8 设置ename列的显示长度为8个字符
col sal for 99999设置sal列的显示长度为5位数字
替代变量
用于临时存储数值.
define 命令用于定义,显示,并查看替代变量结果
定义 查看
SQL> define name=SCOTT
SQL> define name
DEFINE NAME = "SCOTT" (CHAR)
SQL> undefine name
SQL> define name
SP2-0135: symbol name is UNDEFINED
SQL>
引用替代变量
对变量名添加&或者&&符号做前缀
SQL> define name=SCOTT
SQL> select ename,sal from emp where ename='&name';
old 1: select ename,sal from emp where ename='&name'
new 1: select ename,sal from emp where ename='SCOTT'
ENAME SAL
---------- ----------
SCOTT 3000
SQL> select '&name','&name','&name' from dual;
old 1: select '&name','&name','&name' from dual
new 1: select 'SCOTT','SCOTT','SCOTT' from dual
'SCOT 'SCOT 'SCOT
----- ----- -----
SCOTT SCOTT SCOTT
SQL> undefine name
SQL> select '&name','&name','&name' from dual;
Enter value for name: SCOTT
Enter value for name: king
Enter value for name: seker
old 1: select '&name','&name','&name' from dual
new 1: select 'SCOTT','king','seker' from dual
'SCOT 'KIN 'SEKE
----- ---- -----
SCOTT king seker
为了避免重复输出 可以第一次使用双&&符号 以后的单&符号就是前面双&&符号的输入值
SQL> select '&&name','&name','&name' from dual;
Enter value for name: seker
old 1: select '&&name','&name','&name' from dual
new 1: select 'seker','seker','seker' from dual
'SEKE 'SEKE 'SEKE
----- ----- -----
seker seker seker
SQL>
- SQLPLUS环境命令
- sqlplus命令
- sqlplus命令
- SQLPLUS命令
- SQLPLUS 命令
- sqlplus命令
- sqlplus 命令
- SQLPlus 命令
- sqlplus命令
- sqlplus命令
- 总结一下在SQLPLUS环境下可以使用的命令
- 关于在sqlplus命令环境中执行ed命令的问题
- SQLPlus环境设置
- sqlplus环境设置
- SqlPlus环境配置文件
- SQLPlus命令使用指南(一)
- SQLPlus命令使用指南(二)
- SQLPlus命令使用指南(三)
- 互联网时代的羊群效应
- 常用sqlplus修饰参数
- 强化气流干燥机的效果及保养
- FROM_UNIXTIME 格式化MYSQL时间戳函数
- 第一个C++调用Cplex程序
- SQLPLUS环境命令
- HTML入门教程
- servlet监听器的使用
- vs对话框位置
- JavaWeb —— EL表达式
- JAVA代码:通过Socket读取返回的数据
- python文件处理
- iOS应用崩溃日志揭秘
- hudson中subversion HEAD check out 的问题及疑惑