您的位置:首页 > 数据库 > Oracle

Oracle sqlplus 常用命令总结

2015-03-23 10:46 651 查看
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行的内容

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle sqlplus命令