版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/God_XiangYu/article/details/80885854
第一章:Oracle 11g 常用的SQL Plus 命令
使用查询、插入、删除、update 等等类似 sql 的语句的时候需要加;结尾。
- Connect:切换连接用户,简写形式conn
- Show user:显示当前登录的用户
- Host< dos命令 >:执行操作系统命令
- Spool:导出记录到文本
- Clear screen:清屏
- Start d:\test.sql 执行文件系统中的SQL语句(注:start 命令等同于@,即:@d:\test.sql)
- Desc:显示表结构
- Show error:显示错误信息
- passw[ord]:该命令用于修改用户的密码,如果要想修改其它用户的密码,需要用sys/system 登陆
- 注意:以高级用户重置低级用户的密码
- 普通用户也可以给自己重置密码( 前提:普通用户得知道自己得密码 )
- disc[onnect]:该命令用来断开与当前数据库的连接
- Exit:退出
交互式命令
&
说明:可以替代变量,而该变量在执行时,需要用户输入。sql>select * from emp where job=’&job’
edit
说明:该命令可以编辑指定的sql脚本
案例:sql>spool d:\b.sqlspool
说明:该命令可以将sql*plus 屏幕上的内容输出到指定文件中去
案例:sql>spool d:\b.sql 并输入 sql>spool off
文件操作命令
1、start
调用外部的脚本
在磁盘(E(某)磁盘)存放了 select * from dept; 的语句,并保存为dept.sql
sql>start e:\dept.sql
2、edit
说明:该命令可以编辑指定的脚本
sql>edit e:\dept.sql
在打开sql 脚本里去编辑的 sql 脚本
3、spool
说明:该命令可以将sqlplus 屏幕上的内容输出到特定文件里
sql>spool e:\dept.sql
sql>select * from dept;
sqlspool off
注意:当 spool off 后,才把所有的输出写入到外部dept.sql 文件里
4、&
解释:可以替代变量,变量的值有交互时由用户输入
sql>select * from dept DNAME='&DNAME';
sql>根据提示输入相应的值:例如 SALES
显示与设置环境变量( 用途:控制输出命令结果的格式 )
1、linesize
用途:设置显示行的宽度,默认是80 个字符
sql>show linesize
sql>set linesize 5202、pagesize
用途:设置每页显示的行数目,默认是14
sql>show pagesize
sql>set pagesize 40
1:查看当前用户的环境设置:
SQL> define
DEFINE _DATE = "21-JAN-14" (CHAR)
DEFINE _CONNECT_IDENTIFIER = "updb" (CHAR)
DEFINE _USER = "SCOTT" (CHAR)
DEFINE _PRIVILEGE = "" (CHAR)
DEFINE _SQLPLUS_RELEASE = "1102000300" (CHAR)
DEFINE _EDITOR = "ed" (CHAR)
DEFINE _O_VERSION = "Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options" (CHAR)
DEFINE _O_RELEASE = "1102000300" (CHAR)
SQL>
2:当前用户设置环境:
SQL> define_editor = 'VI';
SQL> define
DEFINE _DATE = "21-JAN-14" (CHAR)
DEFINE _CONNECT_IDENTIFIER = "updb" (CHAR)
DEFINE _USER = "SCOTT" (CHAR)
DEFINE _PRIVILEGE = "" (CHAR)
DEFINE _SQLPLUS_RELEASE = "1102000300" (CHAR)
DEFINE _EDITOR = "VI" (CHAR)
DEFINE _O_VERSION = "Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options" (CHAR)
DEFINE _O_RELEASE = "1102000300" (CHAR)
SQL>
3:编辑login.sql
当退出当前用户的时候,所设置的环境就自动恢复成默认值,可以在login.sql文件中做设置,就不用每次都手动修改:
[oracle@steven ~]$ cat login.sql
define_editor=vi
set serveroutput on size 1000000
set trimspool on
set long 5000
set linesize 100
set pagesize 9999
column plan_plus_exp format a80
column global_name new_value gname
set termout off
define gname=idle
column global_name new_value gname
select lower(user) || '@' || substr(global_name,1,decode( dot,0,length(global_name),dot-1))global_name
from (select global_name,instr(global_name,'.') dot from global_name);
set sqlprompt '&gname> '
set termout on
4:对login.sql脚本进行说明
# 设置SQL*Plus 使用的默认编辑器。可以把它设置为你中意的文本编辑器。
define_editor=vi
# 默认的打开DBMA_OUTPUT,设置缓冲区的大写尽可能大。
set serveroutput on size unlimited
# 假脱机输出文件时,会去除问本行两端的空格,而且行宽不定,如果设置为OFF,假脱机输出文件宽度则等于所设置的linesize。
set trimspool on
# 设置选择LONG和CLUB列时显示的默认字节数。
set long 5000
# 设置SQL*Plus显示的文本行宽为100个字符。
set linesize 100
# pagesize可以控制SQL*Plus多久打印一次标题。
set pagesize 9999
# 设置由AUTOTRACE得到的解释计划输出的默认宽度。a80通常足以放下整个计划。
column paln_plus_exp format a80
# 这部分用于简历SQL*Plus的提示符,告诉SQL*Plus取得global_name列中的最后一个值,并将这个值赋给变量gname.
select lower(user) || '@' || substr(global_name,1,decode( dot,0,length(global_name),dot-1))global_name
from (select global_name,instr(global_name,'.') dot from global_name);
set sqlprompt '&gname> '