• 学习笔记:oracle学习二:oracle11g数据库sql*plus命令之常用sqlplus命令、格式化查询结果



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

  • 相关阅读:
    【其他】parallels Desktop解决无法压缩硬盘的问题
    【读书笔记】《互联网企业安全高级指南》1-5
    【漏洞复现】SMBLoris windows拒绝服务漏洞
    【编程开发】macOS下配置scapy环境
    C#异常处理经验(原则与方法)
    EntityFramework linq 多条件查询,不定条件查询
    C#制作、打包、签名、发布Activex全过程
    ZPL语言完成条形码的打印
    Linux环境下MySql安装和常见问题的解决
    lrzsz——一款好用的文件互传工具
  • 原文地址:https://www.cnblogs.com/yj411511/p/11895425.html
Copyright © 2020-2023  润新知