sqlplus 常用命令

sqlplus 连接数据库的几种方式:
sys/sys@192.168.100.1:1521/ORCLas sysdba : 通过网络连接远程数据库,需要listener进程可用,但不需要配置tnsnames.ora等文件
  • sqlplus / as sysdba 操作系统认证,不需要listener进程
  • sqlplus sys/oracle 连接本机数据库,不需要listener进程
  • sqlplus sys/oracle@orcl 通过网络连接远程数据库,需要listener进程处于可用状态。需要配置客户端的tnsnames.ora等文件
  • sqlplus abc/abc123 需要listener进程可用,但不需要配置tnsnames.ora等文件。

下面的转自:http://hi.baidu.com/%E8%88%8D%E5%BE%970710/blog/item/9321ad7a2fddb1e70bd187fb.html

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

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

SQL> set colsep | —————————————————设置列与列之间的分割符号

SQL> set pagesize 10———————————————–设置每一页的行数

SQL> SET SERVEROUTPUT ON——————————-设置允许显示输出类似dbms_output.putline

SQL> set heading on————————————————设置显示列名

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

SQL> set time on—————————————————–设置显示当前时间

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

sqlplus sys/sys@DODO as sysdba

sqlplus /as sysdba

sqlplus /nolog

SQL>conn sys/sys@DODO as sysdba

1、执行一个SQL脚本

SQL> start D:\a.sql

SQL> @ D:\a.sql

注:若需要在一个脚本中调用另一个脚本,则使用 @@D:\a.sql

2、重新执行上一次命令:

SQL> / --也可使用 run/r 来替代执行

3、编辑脚本:

SQL> edit --编辑当前输入的文本(前1次执行的部分)

SQL> edit D:\a.sql --编辑制定文档

注:在txt中编辑完成后保存,关闭即修改完成,使用“/”后运行

4、保存脚本:

SQL> save a --自动存档为a.sql 保存在C:\Documents and Settings\wangxiaoqi

SQL> save D:\a --保存到D:\a.sql

5、导入脚本:

SQL> get D:\a

6、显示一个表结构:

SQL> desc tab --如果tab不是表,则只显示其类型和名字

7、保存所有输入:

SQL> spool D:\xxx --建立一个xxx.LST文件

SQL> spool --显示当前spool状态

SQL> select * from dual;

SQL> spool off --结束录入

8、执行过程

SQL> execute a;

9、增加页眉和页脚:

SQL> TTITLE abc --添加页眉“abc”

SQL> BTITLE def --添加页脚“def”

SQL> TTITLE OFF --取消页眉显示

10:追加:

sql> ? 命令 或者 help 命令 可获得命令的帮助

例如: sql>? conn 或者 sql>help conn

sqlplus命令后面不需要有分号

conn 是连到数据库,生成会话,disconn[ect] 是断开会话,但不会退出sqlplus

在对数据库完成操作时要断开,这是良好的习惯,防止误操作。

password 用户名:修改该用户的密码,例如:password system 修改system用户的密码。

sqlplus缓冲区命令:

格式为:命令----------缩写-------说明

run----r--重新运行上一次sql语句,会列出缓冲区内容

/---- ---重新运行上次的sql

n--- ----定位到缓冲区的第n行

append 文本-----a 文本---在定位行的尾部添加文本

chang /旧文本/新文本---c /旧文本/新文本----修改缓冲区中定位行的第一个出现的字符串

chang /文本---c /文本------从定位行中删除文本,可以理解为替换为空

clear buffer---clear buffer--清空缓冲区

del----删除缓冲区的当前定位行

del n---删除第n行

del *---删除当前行

del m n-- 删除缓冲区的第m行到第n行

list 列出缓冲区的内容

list * 列出当前行 ---list 5 :定位并显示出指定行的内容

list m n 列出第m行到第n行

sqlplus 文件操作命令

edit c:/t.sql 用编辑器打开相应的文件,若不存在 则提示创建

save c:/t.sql 将缓冲区内容保存到os文件

get c:/t.sql 将文本内容调入到sql 缓冲区

start c:/t.sql 运行脚本文件

@ c:/t.sql 运行脚本文件,等同于start

spool c:/a.txt 将sqlplus屏幕内容输出到a.txt,需要spool off才能看到输出结果。

三、COLUMN[COL]命令修改字段属性:

可以修改的属性有:

ALI[AS] alias

CLE[AR]

FOLD_A[FTER]

FOLD_B[EFORE]

FOR[MAT] format

HEA[DING] text

JUS[TIFY] {L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]}

LIKE { expr|alias}

NEWL[INE]

NEW_V[ALUE] variable

NOPRI[NT]|PRI[NT]

NUL[L] text

OLD_V[ALUE] variable

ON|OFF

WRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED]

注:若不同表的同列名,会一起改掉!

1、HEADING--改变字段名

SQL> COLUMN id HEADING 'XX|YY' --使用'|'可将列名显示为两行

2、FORMAT--改变字符长度 & 格式化数值

SQL> COLUMN id FORMAT a20 --此字段长20个字符,只能针对字符,若为数字则无法正常显示

SQL> COLUMN id FORMAT $999.00 --前缀$,小数点前3位,小数点后2位四舍五入

3、JUSTIFY--改变字段名显示位置

SQL> COLUMN id JUSTIFY center --居中显示,默认的都是靠右(r )显示

4、NOPRINT--不显示

SQL> COLUMN id NOPRINT --不显示出来,可用PRINT设置回来

5、NULL--设置NULL值显示

SQL> COLUMN COMM NULL 0.00 --将NULL值设置位0.00 注意必须加上COMM 注:不起作用。

6、WRAPPED--设置回绕方式

SQL> COLUMN id FORMAT a5 --设置长度为5

SQL> COLUMN id WRAPPED --表示直接按长度回绕

SQL> COLUMN id WORD_WRAPPED --按单词回绕

SQL> COLUMN id TRUNCATED --直接按长度截断

7、COLUMN--显示当前列所有属性

SQL> COLUMN id --后面不加列名时显示所有的COLUMN

8、OFF|ON--设置某一字段关闭

SQL> COLUMN id OFF

9、CLEAR--清空所有字段属性

SQL> CLEAR COLUMNS

四、SQL*Plus的系统参数:

show all --显示所有系统参数的当前值

show [参数] --显示某个系统参数值

set [参数][值] --设置系统参数值

appinfo is OFF and set to "SQL*Plus"

arraysize 15

SQL*Plus一次从oracle获取的行数,设置越大可提高效率,但是对内存有要求,1000以上效果不大

autocommit OFF

针对session的自动提交 SQL> SET AUTO[COMMIT] {ON|OFF|IMM[EDIATE]| n} --有IMM[EDIATE]则无需再ON

autoprint OFF

autorecovery OFF

autotrace OFF

设置可以对执行的SQL进行分析 SQL> SET AUTOTRACE ON

blockterminator "." (hex 2e)

btitle OFF and is the first few characters of the next SELECT statement

cmdsep OFF

colsep " "

设置列与列之间的分割符号 SQL> SET COLSEP '|'

compatibility version NATIVE

数据库版本,NATIVE为默认,可制定V6,V7,V8

concat "." (hex 2e)

copycommit 0

COPYTYPECHECK is ON

define "&" (hex 26)

替换变量时所使用的字符

describe DEPTH 1 LINENUM OFF INDENT ON

echo OFF

是否显示执行代码 SQL> SET ECHO {ON|OFF}

editfile "afiedt.buf"

embedded OFF

escape OFF

FEEDBACK ON for 6 or more rows

查询、修改时所影响的行数 SQL> SET FEED[BACK] {6|n|ON|OFF}

flagger OFF

flush ON

heading ON

是否显示列标题 SQL> SET HEA[DING] {ON|OFF}

headsep "|" (hex 7c)

instance "local"

linesize 100

设置一行可容纳的字符数 SQL> SET LIN[ESIZE] {80|n}

lno 8

loboffset 1

logsource ""

long 5000

longchunksize 80

markup HTML OFF ...

newpage 1

页与页之间的分隔符 SQL> SET NEWP[AGE] {1|n|NONE}

当set newpage 0 时,会在每页的开头有一个小的黑方框。

当set newpage n 时,会在页和页之间隔着n个空行。

当set newpage none 时,会在页和页之间没有任何间隔。

null ""

设置null值 SQL> SET NULL 0.00

但是此值显示出来后必为字符型

numformat ""

numwidth 10

设置number类型的长度限制 SQL> SET NUM[WIDTH] 16

pagesize 9999

一页显示多少行 SQL> SET PAGES[IZE] {24|n}

当设置为0时,则所有行显示在一页中,并且不显示标题行

PAUSE is OFF

pno 1

recsep WRAP

recsepchar " " (hex 20)

release 1002000100

repfooter OFF and is NULL

repheader OFF and is NULL

serveroutput ON SIZE 1000000 FORMAT WORD_WRAPPED

输出DBMS.OUTPUT时是否显示 SQL> SET SERVEROUT[PUT] {ON|OFF} [size n]

shiftinout INVISIBLE

showmode OFF

spool OFF

sqlblanklines OFF

sqlcase MIXED

sqlcode 0

sqlcontinue "> "

sqlnumber ON

sqlpluscompatibility 10.2.0

sqlprefix "#" (hex 23)

sqlprompt " wangxiaoqi@DODO > "

sqlterminator ";" (hex 3b)

suffix "sql"

tab ON

termout ON

是否显示输出内容,例如spool输出 SQL> SET TERM[OUT] {ON|OFF}

timing OFF

SQL语句执行花费时间显示 set TIMING {ON|OFF}

trimout ON

标准输出中每行最后的空格是否去掉 SQL> SET TRIMS[OUT] {ON|OFF}

trimspool ON

spool标准输出中每行最后的空格是否去掉 SQL> SET TRIMS[OUT] {ON|OFF}

ttitle OFF and is the first few characters of the next SELECT statement

underline "-" (hex 2d)

USER is "WANGXIAOQI"

verify ON

wrap : lines will be wrapped

当长度超过时是否回绕 SQL> SET WRA[P] {ON|OFF} --基本上都要ON

五、一些常用的小操作:

show user --查看当前登录用户

show errors --显示错误信息

show rel[ease] --显示版本

show SGA --显示SGA

set time on --前端始终显示时间

select name from v$database; --查看当前所在数据库

select * from v$instance; --查看所有数据库实例(似乎没什么用)

select * from V_$PWFILE_USERS; --查看那些用户有SYSDBA/SYSOPER权限

==========================================end===============

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值