SQLPLUS使用介绍

1、连接(connect可简写为CONN)
CONN[ECT] {username | /}[@connect_identifier] [edition={edition_name | DATABASE_DEFAULT}] [AS {SYSOPER | SYSDBA}]


SQLPLUS下操作系统验证登录DBA角色:
connect / AS sysdba
用户名/密码登录格式:
connect AS a USER CONN / @
@后为配置好的监听连接标识符,如:
connect joesmith/password@orcl
注意:密码中含有@、/等特殊字符的需要用双引号把密码引起来

直接使用IP/SID登录方式:

sqlplus 用户名/密码@IP:端口/SID


2、查看对象
--查看函数 describe可简写为DESC
16:23:22 SCOTT@orcl> describe fn_getname
FUNCTION fn_getname RETURNS VARCHAR2
--查看存储过程
16:36:48 SCOTT@orcl> DESC TEST_001
PROCEDURE TEST_001
--查看表
16:36:59 SCOTT@orcl> DESC emp
 名称                                                  是否为空? 类型
 ----------------------------------------------------- -------- ---------------


 EMPNO                                                 NOT NULL NUMBER(4)
 ENAME                                                          VARCHAR2(10)
 JOB                                                            VARCHAR2(9)
 MGR                                                            NUMBER(4)
 HIREDATE                                                       DATE
 SAL                                                            NUMBER(7,2)
 COMM                                                           NUMBER(7,2)
 DEPTNO                                                         NUMBER(2)
--查看同义词
16:40:15 SCOTT@orcl> CREATE SYNONYM syn_emp for emp;


同义词已创建。


已用时间:  00: 00: 00.03
16:40:53 SCOTT@orcl> desc syn_emp
 名称                                                  是否为空? 类型
 ----------------------------------------------------- -------- ------------


 EMPNO                                                 NOT NULL NUMBER(4)
 ENAME                                                          VARCHAR2(10)
 JOB                                                            VARCHAR2(9)
 MGR                                                            NUMBER(4)
 HIREDATE                                                       DATE
 SAL                                                            NUMBER(7,2)
 COMM                                                           NUMBER(7,2)
 DEPTNO                                                         NUMBER(2)



3、格式设置命令
--设置列分隔符 (SET colsep 字符或字符串)
SET colsep ','
16:45:19 SCOTT@orcl> SELECT * FROM EMP WHERE ROWNUM<2;


     EMPNO,ENAME     ,JOB      ,       MGR,HIREDATE      ,       SAL,      COMM,    DEPTNO
----------,----------,---------,----------,--------------,----------,----------,----------
      1214,    ,   ,    ,        ,  1.21E+03,    ,


已选择 1 行。


--设置表头是否显示(set head ON/OFF)
16:48:31 SCOTT@orcl> show head
heading ON
16:48:36 SCOTT@orcl> SELECT * FROM EMP WHERE ROWNUM<2;


     EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM     DEPTNO
---------- ---------- --------- ---------- -------------- ---------- ---------- ----------
      1214                          1.21E+03      


已选择 1 行。


已用时间:  00: 00: 00.00
16:49:06 SCOTT@orcl> set head off
16:49:13 SCOTT@orcl> SELECT * FROM EMP WHERE ROWNUM<2;


      1214                          1.21E+03      


已选择 1 行。


--设置行的大小(SET linesize )
16:52:49 SCOTT@orcl> SET linesize 20
16:53:18 SCOTT@orcl> select text from user_source where rownum<2;


TEXT
--------------------
package csharp_inter
face is




已选择 1 行。


已用时间:  00: 00: 00.00
16:53:19 SCOTT@orcl> SET linesize 100
16:53:26 SCOTT@orcl> /


TEXT
------------------------------------------


package csharp_interface is


已选择 1 行。


已用时间:  00: 00: 00.00


--设置执行时间显示 (SET timing ON)
16:54:41 SCOTT@orcl> SET timing off
16:54:44 SCOTT@orcl> select 1 from dual;


         1
----------
         1


已选择 1 行。


16:54:54 SCOTT@orcl> SET timing on
16:54:59 SCOTT@orcl> select 1 from dual;


         1
----------
         1


已选择 1 行。


已用时间:  00: 00: 00.01


数字、字符等输出格式控制:

--设置显示列宽(字符类型的)
COL object_name FORMAT a30
 
--设置显示列宽及格式(数字类型的)
COL sal FORMAT $99,999
16:06:29 SCOTT@orcl> select sal from emp;

     SAL
--------
  $1,212
  $4,500
--负数显示格式 -
COL sal FORMAT 9999MI
16:10:34 SCOTT@orcl> select -4321.66 sal from dual;

  SAL
-----
4322-
--负数显示格式 <>
COL sal FORMAT 9999PR
16:12:01 SCOTT@orcl> select -4321.66 sal from dual;

   SAL
------
<4322>
 
--数字精度控制
COL sal FORMAT 9999D99 
16:12:50 SCOTT@orcl> select 654321.66666 sal from dual;

     SAL
--------
########

已选择 1 行。

已用时间:  00: 00: 00.00
16:13:00 SCOTT@orcl> select 6521.6666 sal from dual;

     SAL
--------
 6521.67

已选择 1 行。
 
 
--科学计数法显示数字
COL sal FORMAT 9999.99EEEE 
16:13:46 SCOTT@orcl> select 6521.6666 sal from dual;

       SAL
----------
  6.52E+03

已选择 1 行。
 
--数字显示为日期格式
COL test FORMAT DATE 
16:19:32 SCOTT@orcl> select  1 test from dual;

    TEST
--------
01/01/12
 



4、查看参数值 (show parameter)

--查看以UNDO开头的初始化参数的值
17:27:08 SYS@orcl> show parameter undo


NAME                                 TYPE        VALUE
------------------------------------ ----------- ---------
undo_management                      string      AUTO
undo_retention                       integer     900
undo_tablespace                      string      UNDOTBS1



5、SPOOL

SPOOL 为SQLPLUS下使用的输出工具,类似如CMD下的ECHO >>文件名,不过SPOOL要强大的多.
1.输出 SPOOL 文件路径
如:
spool c:\temp\test1.txt
...
--各种操作命令后
SPOOL OFF
打开文件TEST1.TXT,发现各种操作命令及显示结果都已经保存到此文件.


6、其他命令

--显示当前用户
17:32:30 SCOTT@orcl> show user
USER 为 "SCOTT"


--显示oracle服务器版本号 (show release)
17:28:52 SYS@orcl> show release
release 1102000100


--显示缺省实例的连接标识符 (show instance)
17:23:26 SCOTT@orcl> show instance
instance "local"


--显示归档日志路径 (show logsource)
17:26:36 SYS@orcl> show logsource
logsource ""


--显示错误信息 (show errors)
17:15:51 SCOTT@orcl> CREATE PROCEDURE test123 IS
17:16:03   2  BEGIN
17:16:07   3    ifasdfn;
17:16:08   4  END;
17:16:08   5  /


警告: 创建的过程带有编译错误。


已用时间:  00: 00: 00.04
17:16:09 SCOTT@orcl> show errors
PROCEDURE TEST123 出现错误:


LINE/COL ERROR
-------- ----------------------------------------
3/3      PL/SQL: Statement ignored
3/3      PLS-00201: 必须声明标识符 'IFASDFN'
17:16:14 SCOTT@orcl>


--显示所有配置参数 (show all)
17:14:24 SCOTT@orcl> show all
appinfo 为 OFF 并且已设置为 "SQL*Plus"
arraysize 15
autocommit OFF
autoprint OFF
autorecovery OFF
autotrace OFF
blockterminator "." (hex 2e)
btitle OFF 为下一条 SELECT 语句的前几个字符
cmdsep OFF
colsep " "
compatibility version NATIVE
concat "." (hex 2e)
copycommit 0
COPYTYPECHECK 为 ON
define "&" (hex 26)
describe DEPTH 1 LINENUM OFF INDENT ON
echo OFF
editfile "afiedt.buf"
embedded OFF
escape OFF
escchar OFF
exitcommit ON
用于 1 或更多行的 FEEDBACK ON
flagger OFF
flush ON
heading ON
headsep "|" (hex 7c)
instance "local"
linesize 100
lno 7
loboffset 1
logsource ""
long 100000
longchunksize 80
markup HTML OFF HEAD "SQL*Plus Report"
 BODY "" TABLE "border='1' width='90%' align='center' summary='Script output'" SPOOL OFF ENTMAP ON P
REFORMAT OFF
newpage 1
null ""
numformat ""
numwidth 10
pagesize 1000
PAUSE 为 OFF
pno 1
recsep WRAP
recsepchar " " (hex 20)
release 1102000100
repfooter OFF  为 NULL
repheader OFF  为 NULL
securedcol is OFF
serveroutput ON SIZE 1000000 FORMAT WORD_WRAPPED
shiftinout INVISIBLE
showmode OFF
spool ON
sqlblanklines OFF
sqlcase MIXED
sqlcode 0
sqlcontinue "> "
sqlnumber ON
sqlpluscompatibility 11.2.0
sqlprefix "#" (hex 23)
sqlprompt "_user@orcl> "
sqlterminator ";" (hex 3b)
suffix "sql"
tab ON
termout OFF
timing ON
trimout ON
trimspool ON
ttitle OFF 为下一条 SELECT 语句的前几个字符
underline "-" (hex 2d)
USER 为 "SCOTT"
verify OFF
wrap : 将换至下一行
errorlogging is OFF


--设置SQL提示符 (SET sqlprompt 字符串)
16:58:31 SCOTT@orcl> SET sqlprompt sqlpro_test>
17:06:04 sqlpro_test>


--清空屏幕显示 可简写为CL SCR
clear screen


--调用系统编辑器 自动打开前一个命令进行编辑 简写为ED
edit


你可能感兴趣的:(SQLPLUS使用介绍)