• Oracle数据库连接工具的使用(二)


    一、SQL Plus介绍

     1.简介

     Oracle的sql plus是与oracle进行交互的客户端工具。在sql plus中,可以运行sql plus命令与sql语句。
      我们通常所说的DMLDDLDCL语句都是sql语句,它们执行完后,都可以保存在一个被称为sql buffer的内存区域中,并且只能保存一条最近执行的sql语句,我们可以对保存在sql buffer中的sql语句进行修改,然后再次执行,sql*plus一般都与数据库打交道。
      除了sql语句,在sql*plus中执行的其它语句我们称之为sql*plus命令。它们执行完后,不保存在sql buffer的内存区域中,它们一般用来对输出的结果进行格式化显示,以便于制作报表。

     2.功能

      SQL*Plus主要用于数据的查询和处理,利用该工具可以将SQL和Oracle专有的PL/SQL结合起来进行数据查询及处理。它具有以下功能:

    •  对数据表进行插入、修改、删除、查询操作,以及执行SQL和PL/SQL块;
    • 查询结果格式化、运算处理、保存、打印及输出WEB格式;
    • 显示任何一个的表的字段定义,并与终端用户交互;
    • 连接数据库,定义变量;
    • 完成数据库管理;
    • 运行存储在数据库中的子程序或包。
    • 启动/停止数据库实例等。

    二、SQL Plus操作

    1.连接数据库

      使用SQL Plus连接数据库主要有两种方式,下面分别介绍。

     (1)通过安装程序

      1>执行【开始】-【所有程序】-Oracle - OraDb11g_home1-【应用程序开发】-SQL Plus,打开SQL Plus登录界面,如图2

    图1

     

     图2

     

      2>在启动的命令窗口输入正确的用户名和口令后按ENTER键,此时SQL Plus将连接到数据库。

    图3

      3>在数据库连接成功后出现SQL>后,就可以执行SQL Plus命令,例如我们输入查询语句“select * from dept;”,在SQL语句中,英文状态下的分号是sql语句结束的标志,我们输入的查询语句运行如下图:

     图4

     (2)通过命令启动

      通过命令启动,可以使用sqlplus命令,语法如下:

      sqlplus [username/password@host]

      username:表示数据库的用户名;

      password:标书数据库用户密码;

      host:标书要连接的数据库字符串。

      1>选择【开始】-【运行】-【cmd】-【ENTER】-【dos窗口】,然后在dos窗口中输入“sqlplus scott/oracle@orcl”命令,按Enter键提示连接到数据库。

      

    图5

    图6

     

    图7

     

                                                           

    图8

      当然,为了安全起见,我们连接数据库时可以隐藏密码输入,“sqlplus scott@orcl”,提示输入密码时,我们输入口令密码即可。这样可以有效防止密码被泄露。

    2.断开数据库连接

      通过输入‘disconnect’命令可以断开数据库连接,并保持SQL Plus继续运行,需要再连接数据库是输入‘connect scott/orcle@orcl’即可。

    图9

    图10

      我们需要退出SQL Plus时可以输入exit命令回车即可。

    图11

    3.查看表结构

      命令如下:(该命令可简化为:desc table_name;)

    describe table_name; 
    

      

     

     图12

    4.编辑SQL语句

      SQL Plus可以在缓冲区中保存前面输入的SQL语句,所以可以编辑缓冲区中保存的内容来构建自己的SQL语句,这样省时省力不用重复输入相同的语句,我们常见的编辑命令如下表:

    命令 说明
    A[PPEND] PARAM  将PARAM添加到当前行的结尾
    C[HANGE] /PARAM1/PARAM2 将当前行中的PARAM1替换成PARAM2
    C[HANGE] /PARAM 从当前行删除PARAM
    CL[EAR] BUFF[ER]  删除缓冲区中的所有行
    DEL n     删除第n行
    DEL  删除当前行
    DEL n LAST   删除第n行到最后一行
    I[NPUT] PARAM 当前行后添加新行 内容PARAM
    L[IST] 显示所有行
    L[IST] n 或 n  显示第n行 并设置其为当前行
    L[IST] m n  显示第m行到第n行
    L[IST] *  显示当前行
    R[UN]  显示缓存区中的内容和运行结果,并使sql缓存区中的最后一行成为当前行
    /   只显示缓存内容的运行结果

      下面我们简单的举几个例子了解下编辑命令的使用:

      我们查询部门表部门号为10 的部门,我们在书写sql,语句很长时可以回车换行。

    图13

      查询结束时,可以在在提示符后面输入1,将第一行作为当前行。

     图14

    图15

       我们继续使用append命令在显示的第一行中添加LOC列,即添加“,loc”。

     图16

    图17

      从上面图片中我们看出,loc列已经添加进去,我们在使用list命令显示缓冲区中所以行,如下图:

     图18

     图19

      根据上图显示,现在当前行已成为最后一行,以*号指示。下面我们用change命令将deptno=10修改deptno=20,查询部门为20的数据。

     

     图20图21

      此时我们将where条件修改完成,下面使用run命令进行语句执行,

     图22

     图23

    图24

     我们也可以使用斜杠(/)命令来运行缓冲区中保存的SQL语句,如下图: 

     图25

    5.保存、检索并运行文件

        SQL Plus可以保存、检索并运行包含SQL Plus命令和SQL语句脚本,常见命令如下:

    SAV[E] filename [REP[LACE]APP[END]]

    将缓冲区的命令以文件方式存盘,缺省文件扩展名为.sql,如果使用APPEND则想一个已存在的文件追加内容,如果使用REPLACE则是覆盖一个已经存在文件。

    GET filename

    调入存盘的sql文件

    STA[RT]filename

    运行调入内存中的sql文件

    @filename

    运行调入内存中的sql文件,和START一样

    ED[IT]

    打开默认编辑器,Windows系统中默认的是notepad.exe,把缓冲区中最后一条SQL语句调入afiedt.buf文件中进行编辑。

    ED[IT]filename

    把当前目录中指定的.sql文件调入编辑器进行编辑。

    SPO

    显示当前“假脱机”状态

    SPO filename

    把操作及执行结果“假脱机”,即保存到磁盘文件上,默认文件扩展名为.lst

    SPO OFF

    停止输出

    SPO ON

    停止输出并将结果送到系统打印机

    EXIT

    退出SQL * plus

       我们已例子讲解几个命令的使用。

      (1)输入sql语句

     图26

      

     (2)使用save命令经缓冲区内容保存到名为dept.sql文件:

     图27

     (3)使用get命令检索dept.sql文件内容:

     图28

    (4)使用run命令运行此查询:

     图29

    (5)使用edit命令编辑sql plus缓冲区内容:

     图30

     

      此时会启动系统默认的txt编辑器,我们修改where子句为“where deptno=20”,保存文件并退出编辑器。(sql语句中以/杠为结束标志)

    (6) 使用‘/’运行刚才的语句:

     图31

     6.使用SQL Plus格式化查询结果

       在SQL Plus中,当用户执行查询的时候会以行和列的方式返回数据,在这里可以使用column命令可以显示属性。

    (1)格式化列

      用column命令对输出的列进行格式化,语法如下:

      column {column | alias}  [options]

        其中column:指定列名;

                alias:指定要格式化的列的别名;

                     options:指定用于格式化列和别名的一个或多个选项。

      下为部门格式化选项:

     

    选项 说明
    FOR[MAT]format 将列或列名的显示格式设置为由format字符串指定的格式
    HEA[DING]heading 将列或列名的标题中的文字设置为由heading字符串指定的格式

    JUS[TIFY]

    [{LEFT|CENTER|RIGHT}]

    将列输出设置为左对齐、居中或右对齐

    WRA[PPED]

    在输出结果中将一个字符串的末尾换行显示。该选项可能导致单个词跨越多行

    WOR[D_WRAPPED]

    与WRAPPED选项类似,不同之处在于单个词不会跨越多行

    CLE[AR]

    清楚列的任何格式化(将格式设置回默认值)

       

     

    图32

       上面例子我们将列显示为中文名字,将‘雇员名’列设置宽度设置13个字符,将‘工资’列显示加上美元符号,但是显示分两次显示页面不是很美观,下面我们会介绍如何调整页面显示。

      (2)设置页面大小

      一页显示的行数可以使用set pagesize命令来设置,该命令设置的是输出结果一页应该显示的行数,超过设置的行数后就会再次显示标题。

      我们用set pagesize命令将页面大小设置为30行,用斜杠命令再次运行上次语句:

      

     图33

      (3)设置行大小

      一行显示的字符数可以使用set linesize命令设置。下面以设置行大小20为例,查询工资大于2000的雇员信息。

      

     图34

      上面由于一行显示字符20个,所以超出的部门全部换行显示。

    (4)清除列格式

       列的格式可以使用column命令加上clear选项来清除。

      

     图35

      使用clear columns命令可以清除所以列的格式化:

      clear cloumns;

      一但清除列的格式化后,查询输出的结果就使用该列的默认格式。

  • 相关阅读:
    mysql免安装版配置+navicat测试
    查询SQL Version详细信息
    拆分数据库测试之--收缩数据库
    测试拆分比较大SQL Server数据库
    SQL捕捉blocking信息
    T-SQL 重复读(Double Read)问题的理解
    Node.js版-七夕无事,人艰勿拆,求别说...
    css实现三角箭头(兼容IE6)
    前端开发的基础知识点摘要
    jQuery原理系列-常用Dom操作
  • 原文地址:https://www.cnblogs.com/xhbJava/p/11767719.html
Copyright © 2020-2023  润新知