oracle数据库有很多查询工具,例如大名鼎鼎PLSQL,习惯了图形界面之后,再来面对字符界面的sqlplus真是一种折磨,但不知那位仙人说过“存在就是合理”。
有时候恰恰需要在字符界面环境下工作,例如客户现场,Unix、Linux、AIX操作系统下等等,本文讨论的就是在sqlplus中的一些简单的编辑命令。
1、登陆数据库
sqlplus 用户名/密码[@实例名]
例如:sqlplus test/test@orac
注:1、实例名就是你的oracle_sid宏的定义,注意密码跟实例之间没有空格
2、断开数据库连接
sql < disconnect
3、更改数据库连接用户
sql < connect system/oracle@orac
4、设置行大小,页大小
sql < set linesize 200
sql < set pagesize 10
5、执行脚本,“/” “r” “;” 皆可
sql < select count(*) from order
sql < /
6、列出上一脚本,l
SQL> l
1 select * from order
2* where num='8888'
1,2代表行号,带*号代表当前行
7、切换行号,直接输入数字行号即可
SQL> 1
1* select * from order
8、删除行,del n,n代表行号数字
SQL> l
1 select * from order
2* where num='8888'
SQL> del 2
SQL> l
1* select * from order
9、增加行,i活动行后插入新行粘贴,a当前行后粘贴
SQL> l
1* select * from order
SQL> i where num='1021'
SQL> l
1 select * from order
2* where num='1021'
SQL> a tableb
1* select * from order tableb
*注意a后面要空至少两个格,否则可能会出现operatortableb效果
10、修改内容 c\原内容\新内容
SQL> c \tableb\tablea
1* select * from order tablea
总结下:
l -- 列sql
n -- 切换活动行(n代表行数字)
a -- 活动行后增加(append)
i -- 活动行后插入新行增加(imput)
c -- 替换(change)
del n -- 删除行n
/ -- 执行sql
11、设置默认编辑器
上面说了sqlplus里一些基本语法,当然如果你习惯用vi的话,可以把默认编辑设置成vi,如下:
SQL> set _EDITOR=vi
SQL> ed
键入ed,则sqlplus自动切换到vi,在vi中修改sql,存盘,会自动重新读入到sqlplus的缓冲区(类似sybase里isql下直接键入vi)。
你还可以把编辑器设置存到配置文件,每次自动使用该配置;
修改$ORACLE_HOME/sqlplus/admin/glogin.sql配置文件,增加define _editor=vi即可,sqlplus启动的时候会读取glogin.sql脚本。