本系列是作为学习笔记,用于记录学习过程,加深学习印象,以及自己重新回顾学习内容只用,参考书籍为《oracle 11g从入门到精通(第二版)》,如果需要深入学习,请购买原书籍,谢谢!

1、常用sqlplus命令

1.1 HELP命令

HELP命令可以向用户提供被查询命令的标题、功能描述、缩写形式和参数选项,语法格式如下:

help|?[topic]

?表示一个命令的部分字符

举例:使用help命令查看startup命令的语法格式及功能描述

1.2 describe命令

describe命令用来查询指定数据对象的组成结构,比如,通过describe命令查询表和视图的结构,语法格式如下:

describe object_name;

describe可以缩写为desc,object_name表示将要查询的对象名称;

举例: 通过describe查看dba_tablespaces数据字典表

如果在输入sql命令时,忘记某个列的名称,可以在sql语句中间使用# describe object_name的命令格式来随时查看数据对象的结构,并不需要中断sql语句重新输入。如下所示


select empno,enmae # desc scott.emp sal from scott.emp where job='SALEMAN';

说明:describe命令不仅可以查询表、视图的结构,而且还可以查询过程,函数和程序包等PL/SQL对象的规范;

1.3 SPOOL命令

spool命令可以把查询结果输出到指定文件中,方便保存查询结果打印。语法格式如下:

spool [file_name[.ext][CRE[ATE]|REP[LACE]|APP[END]]|OFF|OUT]

  • CRE[ATE]: 表示创建一个新的脱机文件,这是默认状态;
  • REP[LACE]: 表示替代已经存在的脱机文件;
  • APP[END]: 表示把脱机内容附加到一个已经存在的脱机文件中;
  • OFF|OUT: 表示关闭spool输出;

举例:使用spool命令声称emp.txt文件,并将scott.emp表中销售员的记录保存到该文件中


spool d:\sqltest\emp.txt
select empno,ename,job,sal from scott.emp where job='SALESMAN';
spool off

说明:只有使用spool off或者spool out命令关闭输出,才会在输出文件中看到输出内容,否则输出文件中无内容,或者无更新内容。

1.4 其他常用命令

1.4.1 define命令

该命令用来定义一个用户变量并赋值。语法格式如下:

DEF[INE][variable]|[variable=text]

  • variable: 表示定义的变量名
  • text: 标量的值

举例:使用define定义vjob变量,并给他分配一个char值“SALESMAN”


define vjob='SALESMAN' --定义vjob并给vjob赋值
define vjob --显示变量vjob

1.4.2 show命令

show用于显示sqlplus系统变量的值或者sqlplus环境变量的值,语法格式如下:

SHO[W] option

option表示要显示的系统选项,常用选项有ALL、PARAMETERS、SGA、SPOOL、USER等。

举例:使用show命令显示当前数据库实例的数据块大小

1.4.3 edit命令

edit命令用来编辑sql缓冲区或者指定磁盘文件中的sql语句或者plsql块,语法格式如下:

EDIT [file_name[.ext]]

file_name表示要编辑的磁盘文件名。若不指定参数,则表示编辑sql缓冲区中最近一条的sql;

1.4.4 save命令

save命令用于将sql缓冲区中的最近一条sql语句或plsql块保存到一个文件中,其语法格式如下:

save file_name

file_name表示要保存到的文件。默认扩展名为sql,默认保存路径为oracle系统安装的主目录。

1.4.5 get命令

该命令实现把一个sql脚本文件的内容放进sql缓冲区,语法格式如下:

GET[FILE] file_name[.ext] [LIST [NOLIST]]

  • file_name: 要检索的文件名
  • LIST: 指定文件的内容加载到缓冲区时显示文件内容
  • NOLIST: 指定文件内容加载到缓冲区时不显示文件内容

示例: get d:\sqltest\dept.sql

1.4.6 start和@命令

这两个命令都可以用来执行一个sql脚本文件,语法格式如下:

STA[RT] {URL|file_name[.ext]} [arg...]

  • URL: 表示要执行的sql脚本文件的路径
  • file_name:表示包含sql脚本的文件名
  • arg:其他参数

示例:select count(*) from scott.emp;

2、格式化查询结果

2.1 COLUMN命令

该命令可以实现格式化的查询结果、设置列宽、重新设置列标题等功能,其语法格式如下:

COL[UMN] [column_name|alias|option]

  • column_name:用于指定要设置的列的名称
  • alias: 用于指定列的别名,通过它可以吧英文列标题设置为汉字
  • option: 用于指定某个列的显示格式,option选项的值以及说明如表所示
option选项的值 说明
CLEAR 清楚指定列所设置的显示属性,恢复默认显示属性
FORMAT 格式化指定的列
HEADING 定义列标题
JUSTIFY 调整列标题的对齐方式。默认情况下,数值类型的列为右对齐,其它类型的列为左对齐
NULL 指定一个字符串,如果列值为NULL,则由该字符串代替
PRINT/NOPRINT 显示或不显示列标题,默认为显示
ON OFF 控制定义的显示属性的状态,OFF为所有显示属性不起作用,默认为ON
WRAPPED 当字符串的长度超过显示宽度时,将字符串的超出部分折叠到下一行显示
WORD_WRAPPED 表示从一个完成的字符出折叠
TRUNCATED 表示阶段字符串尾部

2.1.1 FORMAT命令

该选项用于格式化指定的列,需要在FORMAT后面跟一个掩码格式。

举例:使用FORMAT选项格式化scott.emp表中的员工工资为$999,999.00格式。


col sal format $999,999.00
select empno,ename,sal from scott.emp;

2.1.2 HEADING选项

该选项用于定义列标题

举例:使用heading把scott.emp表中的empno,ename,sal三个列名转换为中文形式


col empno heading 雇员编号
col ename heading 雇员姓名
col sal heading 雇员工资
select empno,ename,sal from scott.emp;

2.1.3 NULL选项

该选项后面指定一个字符串,用于替代空值


col comm null '该列为空'
select empno,ename,comm from scott.emp where comm is null;

2.1.4 ON|OFF选项

该选项用于定义显示属性的状态,OFF表示所有显示属性不起作用,默认为ON


col sal format $999,999.00
col sal off
select empno,ename,sal from scott.emp;

2.1.5 WRAPPED/WORD_WRAPPED选项

这两个选项用于实现折行的功能,WRAPPED按照指定长度折行,WORD_WRAPPED按照完整字符串这行


select col1 from test; col1
-----------------------------
HOW ARE YOU? column col1 format a5
column col1 wrapped
select col1 from test; col1
---------------------
HOW A
RE YO
U?

col col1 word_wrapped col1 -------------------------
HOW
ARE
YOU? ## 2.2 TTITLE和BTITLE命令 两个命令分别用来设置打印时每页的顶部和底部标题。两个命令语法格式相同,其中TTITL语法格式如下: TTI[TLE] [printspec [text|variable] ...] | [OFF|ON] - printspec:用来作为头标题的修饰性选项。详细说明见下表
- text:用于设置输出结果
- variable: 用于在头标题中输出变量值
- OFF: 表示禁止打印头标题
- ON:表示允许打印头标题 printspec选项的值和说明 | printspec选项的值 | 说 明 |
|:-:|:-:|
| COL | 指定在当前行的第几列进行打印 |
| SKIP | 跳到从下一行开始的第几行 |
| CENTER | 在当前行的中间开始打印 |
| LEFT | 在当前行左对齐开始打印 |
| RIGHT | 在当前行右对齐开始打印 |
| BOLD | 以黑体打印数据 | ```sql set pagesize 8;
ttitle left ' 销售情况排行表'
btitle left '打印日期:2019年11月22日 打印人:东方'
select * from scott.salgrade;

使用变量来进行ttitle和bittle的输出


set pagesize 8
define varT=' 雇员信息表'
define varB='操作员:东方'
ttitle left varT
btitle left varB
select empno,ename,job from scott.emp;

设置的头标题和尾标题会持续到本次会话结束才终止。若要手动清除这些设置,可以使用ttitle off和btitle off命令取消头标题和底标题的设置信息。

最新文章

  1. ReactNative 从环境和第一个demo说起,填坑教程
  2. wireshark流跟踪和分析
  3. CentOS上安装spark standalone mode(转载)
  4. [PCL]FPFH描述子
  5. XE6移动开发环境搭建之IOS篇(8):在Mac OSX 10.8中安装XE6的PAServer(有图有真相)
  6. 让图片在div 中居中的方法
  7. GoldenGate: Extract Abend with Detect Inconsistency in Pdata (文档 ID 1355067.1)
  8. Fixing ssh login long delay
  9. linux 定时执行shell
  10. STUCTS LABLE ‘S BENEFIT
  11. LeeCode-Sqrt(x)
  12. iOS App集成Apple Pay教程(附示例代码)
  13. 【LeetCode】456. 132 Pattern
  14. Swift 入门之简单语法(六)
  15. centos 7(Linux) 下yum安装mysql
  16. Linux 和Windows之间命令行实现目录或文件互传
  17. Spring boot读取application.properties中文乱码
  18. harbor pull 失败
  19. 服务器安装ubuntu 14.04 server,开机启动屏幕不停滚动错误WRITE SAME failed. Manually zeroing
  20. 通过创建临时表合并某一个库的hive小文件

热门文章

  1. P1449 后缀表达式
  2. nginx + keepalived双活配置
  3. Linux 下Mongdb数据库
  4. OpenJudge 1.5.36:计算多项式的值
  5. Integer面试连环炮以及源码分析(转)
  6. Struts2(补充)
  7. Mininet系列实验(四):基于Mininet测量路径的损耗率
  8. SQLite3中的日期时间函数使用小结
  9. How to transform the day time images to night time ? A series of paper review and some thinkings about this point.
  10. Centos 7 下 Corosync + Pacemaker + DRBD + psc + crmsh 实现 mysql 服务高可用