sqlplus中清理屏幕语句_sqlplus基本命令总结

1、启动sqlplus:

sqlplus [username]/[password][@server]

例:

C:\>sqlplus system/system@demo

C:\>sqlplus /nolog

2、连接命令

connect [username]/[password];

DISCONNECT  //断开连接不退出

password

exit/quit   //断开并退出sqlplus

例:

SQL> conn system/system@demo

Connected.

SQL> PASSWORD                   //相当于alter USER SYSTEM IDENTIFIED BY SYS;

Changing password for SYSTEM

Old password:                   //输入原密码system

New password:                   //输入新密码sys

Retype new password:

Password changed

SQL> conn system/sys@demo

Connected.

SQL> disconn                    //断开连接

Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

SQL> quit                        //退出

C:\>

3、编辑命令

List:列出缓冲区的sql命令

Append:在缓冲区当前行添加内容

Change 字符1  字符2  :改变缓冲区的字符

input:在当前行后增加一行

n:把第n行设定为当前行

Edit:编辑缓冲区

run /:运行缓冲区的命令

-- (a)ppend     添加文本到缓冲区当前行尾

sql> select object_id from t where rownum<=5;

OBJECT_ID

----------

20

46

28

15

29

-- 前一条命令后加order by 1 (注:a后面跟2个空格)

sql> a  order by 1;

1* select object_id from t where rownum<=5 order by 1

sql> r

1* select object_id from t where rownum<=5 order by 1

OBJECT_ID

----------

15

20

28

29

46

-- (c)hange/old/new   在当前行用新的文本替换旧的文本 c/*/tname

-- 将上条命令中的object_id替换成owner

sql> c/object_id/owner

1* select owner from t where rownum<=5 order by 1

-- (c)hange/text  从当前行删除文本        c/tab

-- 删除order by 1

sql> c/order by 1

1* select owner from t where rownum<=5

sql> select owner

2  from t

3  where rownum=1

4  order by 1;

OWNER

------------------------------

SYS

-- del     删除当前行

-- 当前行为第4行

sql> del

sql> l

1  select owner

2  from t

3* where rownum=1

-- del n      删除第n行

-- 删除第2行

sql> del 2

sql> l

1  select owner

2* where rownum=1

-- (i)nput 文本   在当前行之后添加一行

-- 每1行后增加order by 1

(l)ist      显示缓冲区中所有行

(l)ist n     显示缓冲区中第 n 行,设置n行为当前行,*标志

(l)ist m n    显示缓冲区中 m 到 n 行

(r)un      执行当前缓冲区的命令

/        执行当前缓冲区的命令

run与/区别:run显示buffer的命令,/则不然。

@文件名     运行调入内存的sql文件

START            等同于@

@@文件名     在.sql文件中调用令一个.sql文件时使用,嵌套调用

设C盘有文件a.sql(内容为:@@b.sql) 和文件b.sql(内容为:SELECT object_id FROM t WHERE ROWNUM<=2;),则:

SQL> start c:\a.sql;

OBJECT_ID

----------

2

2

SQL> edit s 如果当前目录下不存在s.sql文件,则系统自动生成s.sql文件,

在其中输入"select * from tab;",存盘退出。

SQL> @s

系统会自动查询当前用户下的所有表、视图、同义词。

start 文件名   运行调入内存的sql文件

exit       退出SQL*PLUS

edit       打开默认编辑器,Windows系统中默认是notepad.exe,把缓冲区中最后一条SQL语句调入afiedt.buf文件中进行编辑

edit 文件名   把当前目录中指定的.sql文件调入编辑器进行编辑

clear screen   清空当前屏幕显示

//col(umn) 设置列名显示格式

SQL> col object_name format a10

SQL> select object_name from t where rownum<=2;

OBJECT_NAM

----------

ICOL$

I_USER1

SQL> col object_id format 999.90

SQL> select object_id from  t where rownum<=2;

OBJECT_ID

---------

2.00

2.00

host               //返回命令提示符

SQL> host

Microsoft Windows [版本 6.1.7601]

版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:\Users>exit      //exit命令返回SQL*PLUS

SQL>

$                 //windows下与host命令一致

SQL> $dir         //等同于host dir

驱动器 C 中的卷没有标签。

卷的序列号是 B457-9723

C:\Users 的目录

2012/10/25  13:49    .

2012/10/25  13:49    ..

!                //unix下与host命令一致

4、文件操作命令:

save:把sql缓冲区保存为文件

get:与save相反

save 文件名   将缓冲区的命令以文件方式存盘,缺省文件扩展名为.sql

get 文件名    调入存盘的sql文件

SQL> create table t(id int);

SQL> insert into t values(1);

SQL> commit;

Commit complete.

SQL> save ab.sql

Created file ab.sql

SQL> get ab.sql

1* commit

// abc.sql只有commit,说明buffer只保存了最后一条命令。

start @:运行保存的sql文件

@@:如果两个脚本在同一个文件夹内的话,可以用@@a2.spl引用

Edit:编辑sql脚本,如Edit c:/a.spl

spool:把sqlplus的屏幕内容存放到输出文件

如:spool filename [append][create][replace]

-- 用(spool filename.txt/spool off)命令保存SQL语句块

SQL> SPOOL 'c:\abc.sql'

SQL> SELECT * FROM t;

SQL> INSERT INTO t VALUES(1);

SQL> COMMIT;

SQL> SPOOL OFF

-- spool 显示当前的"假脱机"状态

SQL> spool c:\c.txt

SQL> spool

currently spooling to c:\c.txt

SQL> spool off

SQL> spool

not spooling currently

// 换行句点表示终止命令不执行退出

sql> select owner from t

2  .                      -- 终止命令

sql> input                  -- 补充上一条命令

2  where rownum=1;

OWNER

------------------------------

SYS

sql> l                      -- 完整命令

1  select owner from t

2* where rownum=1

5、格式命令:

cloumn:控制列显示格式

column 列名 [heading] [formart] [justify]

其中heading指显示的列名,format指显示值的时候的格式,justify指显示对其格式(left|center|right)

格式有:An:字符串显示长度

9:数字列类型列禁止显示前导0

0:数字列强制显示前导0

$:在数字列前面显示美元符号

L:在数字列前面显示本地货币符号

.:指定数字类型列的小数点位置

,:指定数字列的千分隔符

其中,当column 字段名 表示显示此字段的col设置

ttitle:页头

btitle:页脚

break:如果在列上有重复的此字段行,则用空白表示这个字段     如:break on 字段名;

DESC   查看表结构

6、交互式命令:

&:引用替代变量,必须代这个符号,如果替代标量已经定义,那么就会直接使用去数据,如果没有定义

如果替代变量是字符串或者日期的时候,引用的时候必须用'&name',是数字则可以是&name

那么,就会临时定义替代变量,(该变量只有在当前语句中起作用)

&&:定义的变量在当前的sqlplus都起作用;

DEFINE :定义char的替代变量,如:DEFINE work=CLECK

sql> define a=1;

sql> select &a from dual;

old 1: select &a from dual

new 1: select 1 from dual

1

----------

1

sql> define a='abc'

sql> select &a from dual;

old 1: select &a from dual

new 1: select abc from dual

select abc from dual

*

ERROR at line 1:

ORA-00904: "ABC": invalid identifier

-- 不能使用双引号""

sql> define a="abcd"

sql> select &a from dual;

old 1: select &a from dual

new 1: select abcd from dual

select abcd from dual

*

ERROR at line 1:

ORA-00904: "ABCD": invalid IDENTIFIER

ACCEPT:定义char NUMBER DATE类型的替代变量,其中,可以输出提示信息,设定格式,隐藏用户输入

如:ACCEPT work PROMPT ‘清输入work信息:’

ACCEPT pwd HIDE #隐藏用户输入

PROMPT ‘输出提示信息’

PAUSE:暂停sql命令,按下回车会继续执行

VARIABLE:该命令在sqlplus中帮定变量,当在sql一句或者pl/sql快中引用帮定变量时必须在帮定的变量前面

加:,当直接给帮定的变量赋值时,需要使用EXECUTE命令,(类似于调用存储过程)

-- 赋值

SQL> var x number;

SQL> exec :x:=90

PL/SQL procedure successfully completed.

-- 显示变量值

SQL> select :x from dual;

:X

----------

90

SQL> print x

X

----------

90

7、环境变量

1) ARRAYSIZE  默认值15,该值越大,网络开销越低,但是占用内存会多,默认为15,比如传送50行,默认要4此,如果改为25行,那么之需要2次

2) AUTOCOMMIT:是否自动提交DML语句

3) COLSEP:列之间的分隔符

4) FEEDBACK:显示返回行数(OFF|1)

5) HEADING:是否显示列标题,默认值为ON

6) LINESIZE:设置行宽度

7) LONG:设置LONG,LOB的显示长度

8) PAGESIZE:每页行数

9) SERVEROUTPUT:控制服务端屏幕输出

10) TERMOUT:是否输出屏幕sql的结果

11) TIME:是否在sql提示符前显示系统时间

例:

SQL> set time on

17:13:37 SQL>

12) TIMING:是否显示sql语句执行的时间

13) sqlprompt "SQL> " 设置默认提示符,默认值就是"SQL> set "

例:

SQL> set sqlprompt "oracle> "

oracle>

14) PAUSE --默认为OFF,设置暂停,会使屏幕显示停止,等待按下ENTER键,再显示下一页

-- 系统环境变量

1) show recyclebin --显示数据库回收站中当前用户对象,里面是当前用户执行drop table删除的表

2  show all --查看所有68个系统变量值

3) show user --显示当前连接用户

4) show error   --显示错误

@与@@区别

@c:\a.sql;  //执行a.sql中的命令

@@          //在.sql文件中调用令一个.sql文件时使用,嵌套调用

&与&&区别

&用来创建一个临时变量,每当遇到这个临时变量时,都会提示你输入一个值。

&&用来创建一个持久变量,就像用用define命令或带new_vlaue字句的column命令创建的持久变量一样。当用&&命令引用这个变量时,不会每次遇到该变量就提示用户键入值,而只是在第一次遇到时提示一次。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值