Oracle SQL*Plus 命令汇总

登录方式的另一种形式:username/password@hostname 
help commandname sqlplus命令帮助 
exit 退出 
在退出sql*plus之前应该用commit命令提交事物 
edit   打开编辑器编辑输入的命令,保存后输入/或者run就能执行输入的指令 
clear screen   清屏和缓冲器 
spool filepath 如果没有路径则保存在oracle\product\10.1.0\db_1\bin目录,建立假脱机文件,执行sql语句 
spool out将执行结果写入脱机文件 
spool off 关闭假脱机文件 
;用来分割sql语句,作为一个sql语句的结束 
/ ,run 运行sql命令 
execute pl/sql语句 执行单条pl/sql语句 
start @ scriptfilepath [arg1 arg2.......] 执行脚本文件,后面是参数列表,脚本中的参数必须用&1,&2.....方式申明 
@还可以在命令行方式中执行,例如 c:\sqlplus username/password @ scriptfilepath argumentslist 

可以在sqlplus中输入命令,然后用文件-保存-创建来保存脚本 
编辑脚本文件时,最后一行不需要分号,需要/,否则脚本将不能正常运行 
用文件-打开来打开脚本,然后选文件-执行来执行脚本(用start,@也能运行脚本文件) 

conn [] 连接命令 
如果用其他用户连接后,要访问另一模式中的对像,就要在对像前加模式.,例如: 
select * from scott.table 

disc 断开连接 

&变量名 替换变量,示例:select * from &a where name='&b' 在使用替换变量处理字符和日期时,要先用''括起来 
define variablename=value 定义替换变量,这样运行的时候就不需要输入替换变量的值 
define定义的变量都是char型的 
define variablename 查看替换变量 
undefine variablename 清除替换变量 

与用户交互用命令 
prompt [']提示内容['] 显示提示内容 
pause 暂停执行,直到用户按回车 
accept variablename [char,date,number]定义替换变量,输入后可用define查到其值 
hide是在输入时将输入内容隐藏显示星号 


绑定变量 
variable varname datatype(number,char,date) 绑定变量 
execute :varname := value 绑定变量赋值 
select * from table where col = :varname (绑定变量使用示例)绑定变量使用时变量前要加: 
print varname 输出绑定变量 
print var1 var2 var3...... 输出多个绑定变量 

自定义SQL*Plus 环境 
show all 显示所有的环境变量 
show varname 显示特定环境变量的值 
help set 显示所有环境变量的设置帮助 
set varname value 设置环境变量 

常用环境变量 
set arraysize 25 设置从数据库中一次提取的行,越大网络传输就越小 
set autocommit on|n 设置每次执行dml语句后自动提交,如果是数字n,则表示成功执行n个sql语句后会自动提交 
set colsep | 设置查询列之间的分隔符 
set feedback n 设置查询返回多少行就会显示返回的行数,默认是6 
set heading on|off 是否显示列标题 
set linesize n 设置行的大小 
set pagesize n 设置一页的行数 
set serveroutput on|off 设置是否显示存储过程的输出 
exec dbms_output.put_line('hello')设备成on的话,就会显示出hello,否则不显 
set sqlprompt sqlpro 设置命令提示符,默认为sql> 
set time on|off 是否在命令提示符显示系统时间 
set underline = 设置列名和返回行之间的分隔符 
set verify on|off 设置是否显示替换变量前后的sql语句的内容 

点sqlplus的选项->环境可以设置环境变量 

store set filepath 存储sqlplus的环境设置到脚本文件,如果只有文件名没有路径,则文件会保存在 drive:\oracle\product\10.1.0\db_1\BIN目录下,不包含扩展名则用.sql。以后用@或者start运行脚本就能设置环境变量。 

如果希望每次启动sqlplus就自动进行环境设置,则要修改Drive:\oracle\product\10.1.0\db_1\sqlplus\admin\glogin.sql 

格式化查询结果 
column colname substate1 substate2 substate3 .................column命令的执行格式 

column colname heading new column name 更改列名 
column ename heading 雇员 
select ename from emp 列名就会显示雇员 

column colname justify left|center|right 设置列的对齐方式 
column colname format args 
args 说明 
An 设置非数值列的显示宽度,如果宽度小于标题则会被截断 
9在数值列上禁补0 
0在数值列上强制补0 
$在数值列前显美元符 
L在数值列前显本地货币符号 
.小数点的位置 
,千分隔符 
column sal heading salary format l9,999.99(9可以换成0,则位不足的会补0) 

column 查看所有列的设置 
column colname 查看特定列的设置 
column colname clear 清除特定列的设置 
clear columns 清除所有列的设置 

限制重复行和使用汇总行 
break on colname 去除colname列上的重复的数据 break on col1 on col2........ 
break on colname skip n 限制重复行的同时在分组间插入n个空行 
break on colname skip page 跳到新一页 
break on row skip n 在每行之后插入n个空行 
break on report skip n 在报表之后插入n个空行 

汇总行的compute指令一般和break一起使用 
break on col|report skip n 
compute function label "label说明文本" of col(要用函数进行计算的列表达式等) on col|exp|row|report(要进行分组的列或者是在报表之后或行之后) 
function说明: 
sum 求列的和 
minmum 求列的最小值 
maxmum 求列的最大值 
avg 求列的平均数 
std 求列的标准方差 
variance求列的协方差 
count 求列的非空个数 
number 求列的行数 
例:break on report 
compute number label "求列的行数" of a on report 
select a from table 

break 查看break设置 
compute 查看compute设置 
clear breaks 清除break设置 
clear computes   清除compute设置 

设置页与报告的标题和脚注 

环境变量: 
newpage 每页开始和标题之间的空行数 
pagesize 每页的行数 
linesize 每行的字符数 

ttitle position_clause value position_clause value...... 设置页标题 
btitle position_clause value position_clause value...... 设置页脚 
repheader position_clause value position_clause value...... 设置报表表头 
repfooter position_clause value position_clause value......设置报表脚注 

position_clause说明: 
left 居左 
center 居中 
right 居右 
col n 在第n列开始 
skip n 跳过n行 
tab n 插入n个制表符 
btitle left "页脚注" right "页号" format(见column说明) 999 sql.pno 

ttitle,bttitle,repheader, repfooter 分别用来查看相应的设置 
ttitle,bttitle,repheader, repfooter 用on, off 来打开或关闭选项 例ttitle off 

注释: 
rem[marks]注释单行 
/**/注释多行 
termout 环境变更控制是否在屏幕上显示

如果要通过isqlplus登录到其他服务器上进行操作,要填写连接字符串
(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=GAARA)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=oamis)))
host为主机名,service_name可以在sqlplus中用system用户登录,然后用 show parameter service_name命令查看

isqlplus 是基于browser的,所以有些sqlplus命令和set环境变量不支持

posted @ 2013-03-18 22:46  xrange  阅读(299)  评论(0)    收藏  举报