本系列是作为学习笔记,用于记录学习过程,加深学习印象,以及自己重新回顾学习内容只用,参考书籍为《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命令取消头标题和底标题的设置信息。

学习笔记:oracle学习二:oracle11g数据库sql*plus命令之常用sqlplus命令、格式化查询结果的更多相关文章

  1. VSTO 学习笔记(十二)自定义公式与Ribbon

    原文:VSTO 学习笔记(十二)自定义公式与Ribbon 这几天工作中在开发一个Excel插件,包含自定义公式,根据条件从数据库中查询结果.这次我们来做一个简单的测试,达到类似的目的. 即在Excel ...

  2. Android:日常学习笔记(10)———使用LitePal操作数据库

    Android:日常学习笔记(10)———使用LitePal操作数据库 引入LitePal 什么是LitePal LitePal是一款开源的Android数据库框架,采用了对象关系映射(ORM)的模式 ...

  3. 【Unity Shaders】学习笔记——SurfaceShader(二)两个结构体和CG类型

    [Unity Shaders]学习笔记——SurfaceShader(二)两个结构体和CG类型 转载请注明出处:http://www.cnblogs.com/-867259206/p/5596698. ...

  4. Linux进程间通信IPC学习笔记之同步二(SVR4 信号量)

    Linux进程间通信IPC学习笔记之同步二(SVR4 信号量)

  5. Linux进程间通信IPC学习笔记之同步二(Posix 信号量)

    Linux进程间通信IPC学习笔记之同步二(Posix 信号量)

  6. Unity3d之Hash&Slash学习笔记之(二)--角色基础类的构建

    Hash&Slash学习笔记之(二)--角色基础类的构建 BaseStat类的构建 基本成员变量: _baseValue //基础属性值 _buffValue //增加的buff值 _expT ...

  7. 汇编入门学习笔记 (十二)—— int指令、port

    疯狂的暑假学习之  汇编入门学习笔记 (十二)--  int指令.port 參考: <汇编语言> 王爽 第13.14章 一.int指令 1. int指令引发的中断 int n指令,相当于引 ...

  8. 【转】 Pro Android学习笔记(九二):AsyncTask(1):AsyncTask类

    文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ 在Handler的学习系列中,学习了如何h ...

  9. #学习笔记#e2e学习使用(二)

    前言: <#学习笔记#e2e学习使用(一)>主要记录了Vue项目的创建到e2e环境的搭建,以及期间遇到的各种问题和解决方法.本文建立在基础测试环境搭建完毕能正确运行的情况下,编写测试代码, ...

随机推荐

  1. .pro文件中设置版本等信息

    VERSION = 1.2.3 QMAKE_TARGET_PRODUCT = 产品名称QMAKE_TARGET_COMPANY = 公司QMAKE_TARGET_DESCRIPTION = 文件描述Q ...

  2. 前端逼死强迫症系列之javascript续集

    一.javascript函数 1.普通函数 function func(){ } 2.匿名函数 setInterval(function(){ console.log(123); },5000) 3. ...

  3. Java学习日记基础篇(八) —— 二进制、位运算、位移运算

    二进制 二进制是逢2进位的进位置,0,1是基本算符 原码反码补码 在基本数据类型那里,有详细解释 二进制的最高位数是符号位:0表示整数,1表示负数 正数的原码,反码,补码都一样 负数的反码 = 它的原 ...

  4. Apache日志详解

    在渗透测试的工作中,WEB网站的日志是非常重要的,今天总结了一些关于调配Apache日志的一些东西. 0x00 Apache日志文件名称及路径介绍 我们安装好Apache后,Apache的配置文件(h ...

  5. 2019-12-10:win7,win12提权练习

    一.win7 1,上传webshell到服务器,访问 2,因为win7权限没设置好,导致任何命令都可以执行 直接提权成功,还可以通过msf工具利用exp进行提权,今天太晚了就先不做了 二.win201 ...

  6. 关于大JSON 的问题的解决方式

    ASP.NET MVC JSON 大数据异常提示JSON 字符串超出限制的异常问题 今天客户突然过来找我说在后台添加了一篇超长的文章后,所有后台的文章都显示不出来了.后台的前端显示是用easyui的, ...

  7. resin初识

    Resin初识 1. resin简介 刚入职的公司用的后台服务器是resin,故因此学习记录一下. resin是一个非常流行的web引用服务器,对servlet和jsp提供了良好的支持,自身采用jav ...

  8. 手写实现RPC框架(不带注册中心和带注册中心两种)

    实现自己的RPC框架如果不需要自定义协议的话那就要基于Socket+序列化. ProcessorHandler:主要是用来处理客户端的请求. package dgb.nospring.myrpc; i ...

  9. python 设计模式之中介者模式

    #先啰嗦一下 至少半个多月的样子没写博客了,月初去了趟黄山,赏了美景,自然没时间也没条件敲博客了,一个多星期就这么过去了.返回深圳后,工作积压了一堆,然后白天就马不停蹄的忙工作,晚上回家伺候小娃,又想 ...

  10. 猎豹网校C++ Primer学习笔记2

    14.数组 数组定义时的长度必须是在编译时就能确定的值. 全局数组会自动初始化为0. size_t 15.指针 其指向类型要相同. 指针和引用: 指针可以先不初始化,可以修改指向.有指针的指针. 16 ...