oracle练习2-sqlplus和isqlplus基本使用

来源:互联网 发布:centos 6.7 iso镜像 编辑:程序博客网 时间:2024/06/05 06:35
一,概述
sqlplus 是管理 oracle 数据库的最强大,最高效的工具! 
该实验的目的是熟悉 oracle 小工具 sqlplus 的使用。 
SQLPLUS 介绍 
SQLPLUS 是 ORACLE 公司开发的很简洁的管理工具。


二,操作步骤
(1)oracle版本查看
SQL> select * from v$version;


BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Prod
PL/SQL Release 10.2.0.3.0 - Production
CORE    10.2.0.3.0      Production
TNS for 32-bit Windows: Version 10.2.0.3.0 - Production
NLSRTL Version 10.2.0.3.0 - Production


(2)help index
SQL> help index


Enter Help [topic] for help.


 @             COPY         PAUSE                    SHUTDOWN
 @@            DEFINE       PRINT                    SPOOL
 /             DEL          PROMPT                   SQLPLUS
 ACCEPT        DESCRIBE     QUIT                     START
 APPEND        DISCONNECT   RECOVER                  STARTUP
 ARCHIVE LOG   EDIT         REMARK                   STORE
 ATTRIBUTE     EXECUTE      REPFOOTER                TIMING
 BREAK         EXIT         REPHEADER                TTITLE
 BTITLE        GET          RESERVED WORDS (SQL)     UNDEFINE
 CHANGE        HELP         RESERVED WORDS (PL/SQL)  VARIABLE
 CLEAR         HOST         RUN                      WHENEVER OSERROR
 COLUMN        INPUT        SAVE                     WHENEVER SQLERROR
 COMPUTE       LIST         SET
 CONNECT       PASSWORD     SHOW
显示 SQLPLUS 命令的帮助,而不是 SQL 语法的帮助,它是查询的数据库内的一张表,所以你
要得到帮助需要两个条件,一、数据库是打开的。二、存在 HELP 表 
建立 HELP 表的脚本在 oracle_home\sqlplus\admin\help 目录下。


(3)Sql>show all 
显示当前 SQLPLUS 的环境设置 
(4)Sql>show user 
显示当前所登录的用户信息。
(5)Spool 
Spool 命令是将屏幕的显示输入到文本文件内,以便查看,有点象屏幕转存。
SQL> spool c:/test.txt
SQL> select * from scott.dept;


    DEPTNO DNAME          LOC
---------- -------------- -------------
        10 ACCOUNTING     NEW YORK
        20 RESEARCH       DALLAS
        30 SALES          CHICAGO
        40 OPERATIONS     BOSTON


SQL> spool off;
此时,打开c:/test.txt,可看到输出的信息。
SQL> spool c:/test1.txt append
SQL> select dname from scott.dept;


DNAME
--------------
ACCOUNTING
RESEARCH
SALES
OPERATIONS


SQL> spool off
SQL> 
加 APPEND 命令的含义是续写 c:\1.TXT,如果不加,将会把原来的 c:\1.TXT 覆盖,这是 10G
的新特性,以前的数据库版本不能续写,只能指定新的文件名称。
(6)run
运行 SQLPLUS 缓冲区内的 SQL 语句,可以缩写为 r。 
SQL> run
  1* select table_name from user_tables


TABLE_NAME
------------------------------
DEPT
EMP
BONUS
SALGRADE
SQL> r
  1* select table_name from user_tables


TABLE_NAME
------------------------------
DEPT
EMP
BONUS
SALGRADE
(7)/
与 run 命令相同,运行 SQLPLUS 缓冲区内的 SQL 语句。
SQL> show user;
USER 为 "SCOTT"
SQL> list
  1* select table_name from user_tables
SQL> /


TABLE_NAME
------------------------------
DEPT
EMP
BONUS
SALGRADE
(8)@脚本
运行指定的脚本
SQL> show user;
USER 为 "SCOTT"
SQL> desc dept;
 名称                                      是否为空? 类型
 ----------------------------------------- -------- ----------------------------
 DEPTNO                                    NOT NULL NUMBER(2)
 DNAME                                              VARCHAR2(14)
 LOC                                                VARCHAR2(13)


SQL> @ C:/test.sql
 名称                                      是否为空? 类型
 ----------------------------------------- -------- ----------------------------
 DEPTNO                                    NOT NULL NUMBER(2)
 DNAME                                              VARCHAR2(14)
 LOC                                                VARCHAR2(13)
@@为运行相对路径下的脚本,一般是在大脚本调用小脚本的时候使用。


@与@@的区别是什么?


@等于start命令,用来运行一个sql脚本文件。


@命令调用当前目录下的,或指定全路径,或可以通过SQLPATH环境变量搜寻到的脚本文件。该命令使用是一般要指定要执行的文件的全路径,否则从缺省路径(可用SQLPATH变量指定)下读取指定的文件。


@@用在sql脚本文件中,用来说明用@@执行的sql脚本文件与@@所在的文件在同一目录下,而不用指定要执行sql脚本文件的全路径,也不是从SQLPATH环境变量指定的路径中寻找sql脚本文件,该命令一般用在脚本文件中。


如:在c:目录下有文件test.sql和test1.sql,
start.sql脚本文件的内容为:
@@test1.sql  


test1.sql脚本文件的内容为
desc emp;


则我们在sql*plus中s,这样执行:


SQL> @ C:/test.sql
 名称                                      是否为空? 类型
 ----------------------------------------- -------- ----------------------------
 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)
(9)Save
将当前 SQLPLUS缓冲区内的 SQL 语句保存到指定的文件中
先list,看下缓冲区内的sql语句。
SQL> list
  1* select table_name from user_tables
现在save c:\save.txt
SQL> save C:/save.txt
已创建 file C:/save.txt
此时打开c:\save.txt ,可看到select table_name from user_tables
(10)get
将文件中的SQL语句调入到SQLPLUS缓冲区内。
如我们在c:/save.txt 写入 desc  emp
SQL> get c:/save.txt
  1* select distinct deptno from emp
SQL> /


    DEPTNO
----------
        30
        20
        10


SQL> 
(11)Edit
编辑当前 SQLPLUS缓冲区内的 SQL 语句
如ed
--是注释当前行
/*    */是注释多行
我们先list 看下缓冲区下的sql语句
SQL> list
  1* select distinct deptno from emp
此时edit  即可编辑

0 0
原创粉丝点击