博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle基础知识-sqlplus使用
阅读量:5024 次
发布时间:2019-06-12

本文共 6085 字,大约阅读时间需要 20 分钟。

Oracle的sql*plus是与oracle进行交互的客户端工具。

在sql*plus中,可以运行sql*plus命令与sql*plus语句。

  
我们通常所说的DML(数据操纵语言)、DDL(数据定义语言)、DCL(数据库控制语言)都是sql*plus语句,它们执行完后,都可以保存在一个被称为sql buffer的内存区域中,并且只能保存一条最近执行的sql语句,我们可以对保存在sql buffer中的sql 语句进行修改,然后再次执行,sql*plus一般都与数据库打交道。

除了sql*plus语句,在sql*plus中执行的其它语句我们称之为sql*plus命令。它们执行完后,不保存在sql buffer的内存区域中,它们一般用来对输出的结果进行格式化显示,以便于制作报表。

  

  下面就介绍一下一些常用的sql*plus命令:

  

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

  

  2. 对当前的输入进行编辑
 
SQL>edit

  
3. 重新运行上一次运行的sql语句
SQL>/

  4. 将显示的内容输出到指定文件
  
SQL> SPOOL file_name
  
在屏幕上的所有内容都包含在该文件中,包括你输入的sql语句。

  

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

  

  6.显示一个表的结构
SQL> desc table_name

  7. 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
 

  2). 将列名ENAME改为新列名EMPLOYEE NAME并将新列名放在两行上:
 
   Sql>select * from emp  Department name      Salary  ---------- ---------- ----------  10          aaa       11
  SQL> COLUMN ENAME HEADING 'Employee|Name’  Sql>select * from emp  Employee  Department name      Salary  ---------- ---------- ----------  10          aaa        11  note: the col heading turn into two lines from one line.

  3). 改变列的显示长度:
   FOR[MAT] format  Sql>select empno,ename,job from emp;  EMPNO          ENAME   JOB  ---------- ----------   ---------  7369            SMITH   CLERK  7499            ALLEN   SALESMAN  7521            WARD    SALESMAN
  Sql> col ename format a40  EMPNO                  ENAME                  JOB  ----------  ----------------------------------------     ---------  7369                   SMITH                  CLERK  7499                  ALLEN                  SALESMAN  7521                   WARD                  SALESMAN
 

  4). 设置列标题的对齐方式

  JUS[TIFY] {L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]}  SQL> col ename justify center  SQL> /  EMPNO                          ENAME          JOB  ----------  ----------------------------------------    ---------  7369                  SMITH                  CLERK  7499                  ALLEN                  SALESMAN  7521                  WARD                   SALESMAN
对于NUMBER型的列,列标题缺省在右边,其它类型的列标题缺省在左边(手工码的,不对见谅)
  

  5). 不让一个列显示在屏幕上
 
NOPRI[NT]|PRI[NT]  SQL> col job noprint  SQL> /  EMPNO      ENAME  ----------   ----------------------------------------  7369            SMITH  7499            ALLEN  7521             WARD

  6). 格式化NUMBER类型列的显示:
 
SQL> COLUMN SAL FORMAT $99,990  SQL> /  Employee  Department Name    Salary  Commission  ---------- ---------- --------- ----------  30     ALLEN    $1,600  300

  7). 显示列值时,如果列值为NULL值,用text值代替NULL值
COMM NUL[L] text  SQL>COL COMM NUL[L] text

  8). 设置一个列的回绕方式

  
WRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED]  COL1  --------------------  HOW ARE YOU?    SQL>COL COL1 FORMAT A5  SQL>COL COL1 WRAPPED  COL1  -----  HOW A  RE YO  U?    SQL> COL COL1 WORD_WRAPPED  COL1  -----  HOW  ARE  YOU?    SQL> COL COL1 WORD_WRAPPED  COL1  -----  HOW A

  9). 显示列的当前的显示属性值
 
SQL> COLUMN column_name

  10). 将所有列的显示属性设为缺省值
SQL> CLEAR COLUMNS

  8. 屏蔽掉一个列中显示的相同的值

  BREAK ON break_column  SQL> BREAK ON DEPTNO  SQL> SELECT DEPTNO, ENAME, SAL  FROM EMP  WHERE SAL < 2500  ORDER BY DEPTNO;  DEPTNO   ENAME     SAL  ---------- ----------- ---------  10      CLARK    2450               MILLER    1300  20      SMITH    800                ADAMS    1100

  9. 在上面屏蔽掉一个列中显示的相同的值的显示中,每当列值变化时在值变化之前插入n个空行。

  BREAK ON break_column SKIP n    SQL> BREAK ON DEPTNO SKIP 1  SQL> /  DEPTNO          ENAME     SAL  ---------- ----------- ---------  10              CLARK     2450                  MILLER    1300    20              SMITH     800                  ADAMS     1100  

  10. 显示对BREAK的设置
 
SQL> BREAK

  11. 删除6、7的设置
SQL> CLEAR BREAKS

  
12. Set 命令:

  
该命令包含许多子命令:
 
SET system_variable value
 
 system_variable value 可以是如下的子句之一:
APPI[NFO]{ON|OFF|text}  ARRAY[SIZE] {15|n}  AUTO[COMMIT]{ON|OFF|IMM[EDIATE]|n}  AUTOP[RINT] {ON|OFF}  AUTORECOVERY [ON|OFF]  AUTOT[RACE] {ON|OFF|TRACE[ONLY]} [EXP[LAIN]] [STAT[ISTICS]]  BLO[CKTERMINATOR] {.|c}  CMDS[EP] {;|c|ON|OFF}  COLSEP {_|text}  COM[PATIBILITY]{V7|V8|NATIVE}  CON[CAT] {.|c|ON|OFF}  COPYC[OMMIT] {0|n}  COPYTYPECHECK {ON|OFF}  DEF[INE] {&|c|ON|OFF}  DESCRIBE [DEPTH {1|n|ALL}][LINENUM {ON|OFF}][INDENT {ON|OFF}]  ECHO {ON|OFF}  EDITF[ILE] file_name[.ext]  EMB[EDDED] {ON|OFF}  ESC[APE] {\|c|ON|OFF}  FEED[BACK] {6|n|ON|OFF}  FLAGGER {OFF|ENTRY |INTERMED[IATE]|FULL}  FLU[SH] {ON|OFF}  HEA[DING] {ON|OFF}  HEADS[EP] {||c|ON|OFF}  INSTANCE [instance_path|LOCAL]  LIN[ESIZE] {80|n}  LOBOF[FSET] {n|1}  LOGSOURCE [pathname]  LONG {80|n}  LONGC[HUNKSIZE] {80|n}  MARK[UP] HTML [ON|OFF] [HEAD text] [BODY text] [ENTMAP {ON|OFF}] [SPOOL  {ON|OFF}] [PRE[FORMAT] {ON|OFF}]  NEWP[AGE] {1|n|NONE}  NULL text  NUMF[ORMAT] format  NUM[WIDTH] {10|n}  PAGES[IZE] {24|n}  PAU[SE] {ON|OFF|text}  RECSEP {WR[APPED]|EA[CH]|OFF}  RECSEPCHAR {_|c}  SERVEROUT[PUT] {ON|OFF} [SIZE n] [FOR[MAT] {WRA[PPED]|WOR[D_  WRAPPED]|TRU[NCATED]}]  SHIFT[INOUT] {VIS[IBLE]|INV[ISIBLE]}  SHOW[MODE] {ON|OFF}  SQLBL[ANKLINES] {ON|OFF}  SQLC[ASE] {MIX[ED]|LO[WER]|UP[PER]}  SQLCO[NTINUE] {> |text}  SQLN[UMBER] {ON|OFF}   SQLPRE[FIX] {#|c}  SQLP[ROMPT] {SQL>|text}  SQLT[ERMINATOR] {;|c|ON|OFF}  SUF[FIX] {SQL|text}  TAB {ON|OFF}  TERM[OUT] {ON|OFF}  TI[ME] {ON|OFF}  TIM

转载于:https://www.cnblogs.com/xing901022/archive/2012/12/20/2857945.html

你可能感兴趣的文章
2. C语言文件操作经典习题
查看>>
学习Raft算法的笔记
查看>>
MOD 10,11算法(GB/T 17710-1999 数据处理 校验码系统 ),使用javascript实现
查看>>
#Leetcode# 692. Top K Frequent Words
查看>>
NYoj_49开心的小明
查看>>
团队进展(持续更新中)
查看>>
linux基础命令1
查看>>
计算机安装了IE8一半退出重启时,桌面只显示背景
查看>>
"模仿"还是"创新"
查看>>
Linux内核设计与实现 第一章 第二章
查看>>
hiho 第118周 网络流四·最小路径覆盖
查看>>
vc 10进制与2 8 16进制相互转换
查看>>
ECMAscript一些方法的使用
查看>>
菜根谭#49
查看>>
一步一步教你使用Ninject进行依赖注入
查看>>
WCF服务开发与调用的完整示例
查看>>
springMVC异常&&重定向&&转发
查看>>
MIP启发式求解:局部搜索 (local search)
查看>>
c、c++ 结构体的嵌套
查看>>
UVA 11859 - Division Game(Nim游戏)
查看>>