Oracle sqlplus 常用命令总结

来源:互联网 发布:acrobat x pro mac 编辑:程序博客网 时间:2024/06/06 04:40

SQL*Plus的常用命令:
SQL*PLus的命令分为两种:SQL命令和SQL*Plus命令。SQL命令主要进行对数据库的操作,SQL*Plus命令主要用来设置查询结果的

显示格式
二者的区别:
SQL*PLus:不存在缓冲区中,不以分号结束
SQL:存在缓冲区中,以分号结束。

1)连接和断开数据库连接命令
Connect 用户名/密码@主机字符串
可简写为:Conn 用户名/密码@主机字符串  例:Connect Scott/123456@orcl

***这里有一点需要注意,由于DBA的权限较大,需要进行特别的验证,Oracle设计了两种身份验证的方式 一种是:将验证集成到服

务器的操作系统上,在服务器中建立ORACLE DBA用户组,只要是属于该组的系统用户均可以执行ORACLEDBA的操作, 而不需要

额外的验证。 另一种是通过ORACLE的口令文件。DBA组的位置在:
计算机-----》右键管理----》本地用户组-------》组----------ora_dba组
例:Connect  fa/faf as sysdba@orcl 无论密码和用户名是否正确,都会连接到DBA中

断开是数据库
Disconnect:断开数据库的连接 可以简写为  Disc

2)查看表,视图,同义词的结构
命令格式:Describe 表名/Desc 表名

3)SQL*Plus设置会话命令
环境设置命令可以在SQL*Plus的菜单下用图形界面配置,也可以用SET命令来设置。
用SET命令 :
SET 环境变量的名 值 //只作用与当前会话 当要查看当前设置时可以用命令行     show 环境变量名 值
1设置空格的宽度
SET Space 值   Set Space 10
2设置一次提取(fetch)的行目 取值范围为1~~5000,默认值为:15.当有较长子字段时,应该设置的小点。比如设置为其值为1。
set arraysize 值
3设置显示的行的宽度 //设置显示行的宽度,默认的宽度为80 当调整cmd的时候需要调整此项
set linesize 值
4设置显示一页的宽度
set pagesiez 值   //其值应该大于2 从第一行就开始算起。当总行数为n时 set pagesize n-1和n的效果是一样的~~~
5设置自动提交
set auto[commit] {OFF|ON|IMM|n}  //On表示自动提交,OFF表示关闭自动提交,IMM表示立刻提交,n表示在执行玩n条语句后

进行提交。
6设置中断指令
set pause  {ON|OFF}  //当设置为ON的时候,在Select语句发出后,需要按ENTER键才可以执行相应的结果。
7设置标题字段的有无
set heading {off|on} on显示字段,off是不显示
8设置页面开头的回车的个数
set newpage {1|n|none} 设置页面开头的空格的个数。
9去掉每行后面的换行符
set trimout {ON|OFF}  设置好每行后面的换行符
10定制一定的条件
set term {on|Off}  set terms 固定词语;定条件
11设置结果的分隔字符
select name||'|'||sex||'|'||age from zh;  //字符将会以'|'结束
12设置运行命令是否显示
    set echo on:显示文件中的每条命令及其执行结果;
    set echo off:不显示文件中的命令,只显示其执行结果。
13设置变量的时候是否验证
   set verify {on|off}
14设置临时存储变量
   &临时变量名
   select &n from zh; 
15设置临时变量标记
默认的情况下临时标记为'&'
你可以通过 set define '符号' 将临时变量的存储标记为您想要的标记。
例:set define  '@'
select @n from zh;

例1:SQL> select @n from zh where name='@m';
      输入 n 的值:  name
      输入 m 的值:  美女
      原值    1: select @n from zh where name='@m'
      新值    1: select name from zh where name='美女'

     NAME
     ------------------------------
     美女

例2:如何让多个重复变量只输入一次
      SQL> select name from @@n where name='@@n';
      输入 n 的值:  zh
      原值    1: select name from @@n where name='@@n'
      新值    1: select name from zh where name='zh'

    NAME
    ------------------------------
     zh
     
***sqlplus中的set命令SQL>set colsep'|';    //-域输出分隔符

SQL>set echo off;    //显示start启动的脚本中的每个sql命令,缺省为on

SQL> set echo on             //设置运行命令是是否显示语句

SQL> set feedback on;       //设置显示“已选择XX行”

SQL>set feedback off;     //回显本次sql命令处理的记录条数,缺省为on

SQL>set heading off;   //输出域标题,缺省为on

SQL>set pagesize 0;      //输出每页行数,缺省为24,为了避免分页,可设定为0。

SQL>set linesize 80;     //输出一行字符个数,缺省为80

SQL>set numwidth 12;     //输出number类型域长度,缺省为10

SQL>set termout off;     //显示脚本中的命令的执行结果,缺省为on

SQL>set trimout on;      //去除标准输出每行的拖尾空格,缺省为off

SQL>set trimspool on;    //去除重定向(spool)输出每行的拖尾空格,缺省为off

SQL>set serveroutput on; //设置允许显示输出类似dbms_output

SQL> set timing on;           //设置显示“已用时间:XXXX”

SQL> set autotrace on;      //设置允许对执行的sql进行分析

set verify off                       //可以关闭和打开提示确认信息old 1和new 1的显示.

4)SPOOL假脱机命令
SPOOL(假脱机命令)可以用于转存执行的命令及结果,Spool是Oracle提供为把sql查询结果导向到指定文件中,要注意是SPOOL是

SQLPLUS的命令,不是SQL语法。 spool命令可以简写为 spo
例:conn scott/tiger@orcl
      spool F:\a.txt
      select * from user;
      spool off
***spool out与spool off的区别
***spool out:Stops spooling and sends the file to your host computer's standard (default) printer.
***spool off:Stops spooling.
***到这个,大家应该就明白了,SPOOL OUT比SPOOL OFF多了一个把文件发送到标准打印输出的动作。记得ItPub论坛上有位大

***虾总结得更简练“OUT = OFF + PRINT”。

   spool的下面的命令导出文本格式的建议:
   set heading off   这个是SPOOL方法导出数据时是否显示字段的属性,set heading on 是显示字段,off是不显示
   set newpage none 设置页面开头的空格的个数。
   set space 0
   set pagesize 0
   set trimout off
   set trimspool on  //去除重定向(spool)输出每行的拖尾空格,缺省为off
   set linesize 2500
//另外在WINDOWS下导出最好不要用PLSQL导出,速度比较慢,直接用COMMEND下的SQLPLUS命令最小化窗口执行。
5)编辑命令
change/被替换后的字符串/替换后的新字符串
list [n] 显示缓冲区中的内容 n表示缓冲区第n行的内容
append text:用于在SQL语句中的当前行的内容后增加text指定的属性。
edit:带哦用文本编译器编辑SQL缓冲区中的内容。可简写为ed  先关闭edit文本,然后在执行sql语句
save: 把缓冲区中的内容保存到文本里面 例:Save F:\b.txt
get:获取文本中的SQL语句,同时把文本中的内容存到缓冲区。注意 只能执行SQL语句,不能执行SQL*PLus语句。
      在只有SQL的情况下 get+run=start/@
6)执行SQL语句中的命令
1    /
2   run


7)执行SQL脚本文件
1 命令格式 Start 文件名
2 命令格式 @ 文件名   //如果SQL脚本文件中又对其他脚本的调用,就使用@@ Start
例子: @ F:\a.sql或者start F:\a.txt     文件的后缀可以为 .sql  .txt

8)执行存储过程命令
Execute 存储过程函数名

9)设置列显示属性
COLUMN name  format A10;  //设置列显示10个字符的宽度   column可以简写为col

10)show
查看当前的例程参数 如 show user
11)help
help [命令名]       例子:help start

0 0
原创粉丝点击