百行业为先,完恶懒为首

oracle 10g学习-第二章SQL*Plus基础(第一天)

上一篇 / 下一篇  2009-06-26 15:19:18 / 个人分类:Oracle学习

第二章 SQL*Plus基础

1.SQL * Plus概念

Oracle允许输入和执行SQL语句以及PL/SQL块的交换工具,能够运行脚本语言,生成简单的报表以格式化地方式输出。

利用SQL*Plus可以查询数据字典,DML、DDL、DCL都是SQL*Plus,它们执行完后,都可以保存在一个被称为sql buffer的内存区域中,并且只能保存一条最近执行的sql语句,我们可以对保存在sql buffer中的sql 语句进行修改,然后再次执行,sql*plus一般都与数据库打交道。

2.登陆SQL * Plus

登陆:运行——cmd——cd\——sqlplus "用户名/密码 as sysdba"

退出:exit

帮助命令:help index;

mount:???

3.基本查看命令

查看三种文件内容:

查看控制文件:select * from v$controlfile;

查看数据文件:select * from V$datafile

查看日志文件:select * from V$log(V$logfile)

查看数据字典:select * from dict

查看内部系统表:select * from V$fixed_view_definition

查看当前用户下的系统用户表:select * from user_talbes;

4.基本执行命令

(1).对当前的输入进行编辑

SQL>select * from V$log;

SQL>edit(进入文本编辑器对当前的sql语句进行编辑并保存)

SQL>/(执行编辑后的sql语句)

(2).执行一个SQL脚本文件

  SQL>start file_name

  SQL>@ file_name

  我们可以将多条sql语句保存在一个文本文件中,这样当要执行这个文件中的所有的sql语句时,用上面的任一命令即可,这类似于dos中的批处理。

  @与@@的区别是什么?

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

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

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

  如:在c:\temp目录下有文件start.sql和nest_start.sql,start.sql脚本文件的内容为:

  @@nest_start.sql - - 相当于@ c:\temp\nest_start.sql

  则我们在sql*plus中,这样执行:
 SQL> @ c:\temp\start.sql


(3).将显示的内容输出到指定文件    

SQL> SPOOL file_name  (在屏幕上的所有内容都包含在该文件中,包括你输入的sql语句。)

(4).关闭spool输出    

SQL> SPOOL OFF  (只有关闭spool输出,才会在输出文件中看到输出的内容。)

(5).COL命令:    

主要格式化列的显示形式。    

该命令有许多选项,具体如下:    

COL[UMN] [{ column|expr} [ option ...]]    

Option选项可以是如下的子句:    

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). 改变缺省的列标题    

COLUMN column_name HEADING column_heading    

For example:    

Sql>select * from dept;    

     DEPTNO DNAME                        LOC    

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

         10 ACCOUNTING                   NEW YORK    

sql>col  LOC heading location    

sql>select * from dept;    

    DEPTNO DNAME                        location    

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

        10 ACCOUNTING                   NEW YORK   

(6).L(List)查看缓存中的SQL语句

SQL>L2 4 * from dept //从dept表中选出2到4行的记录

SQL>/        //在缓存区中以“/”表示执行命令

(7).删除行

Del 4    //删除第4行

Del 2 3   //删除2 3行

(8). 保存命令

SQL>Save c:oracle\text.txt   //保存SQL语句

SQL>@ c:oracle\text.txt    //打开SQL语句@等于start用来运行一个sql脚本文件

SQL>get c:oracle\text.txt   //查看不执行

 

 


TAG:

 

评分:0

我来说两句

Open Toolbar