Oracle(二)初识SQL*Plus及常用命令的基本使用

目录

如何将用户解锁(这里解锁常用的scott、hr)

          (1)解锁用户

          (2)给解锁的用户设置密码

1.理解SQL*Plus的运行环境

2.HELP命令

 3.SQL*Plus常用命令的使用

       3.1 SET命令

       3.2 DESCRIBE命令

       3.3 PROMPT命令

       3.4 SPOOL命令

       3.5格式化查询结果

                  COLUMN命令

                   TTITLE和BTITLE命令

       3.6缓存区


 

如何将用户解锁(这里解锁常用的scott、hr)

          (1)解锁用户

                            首先要知道Oracle有哪些用户:          select * from dba_users;

                             解锁:                                              alter user Scott account unlock;

          (2)给解锁的用户设置密码

                             设置密码:                                        alter user scott identified by  password;

 

1.理解SQL*Plus的运行环境

在数据库系统中,可以使用两种方式执行命令,一种方式是通过图形化工具(可以用SQLdeveloper),另一种方式是直接使用各种命令。图形化工具的特点是直观、简单,但是图形工具灵活性比较差,不利于用户对命令的理解;而命令则非常灵活,有利于加深用户对复杂命令选项的理解,并且可以完成某些图形工具无法完成的任务。

SQL*Plus则是用于执行SQL语句和PL/SQL程序的工具。

2.HELP命令


        SQL*Plus有许多命令,而且每个命令都有大量的选项,要记住每一个命令的所有选项是很困难的(除了比较常用的,其他的都懒得记)。用户可以使用HELP命令查询相关的命令信息。SQL*Plus帮助系统可以向用户提供下面一些信息:命令标题、命令作用描述的文件、命令的缩写形式、命令中使用的强制参数和可选参数。

 

HELP命令的语法形式:help [topic]    说明:topic参数表示将要查询的命令名称。

help index命令,可以查看SQL*Plus命令清单。

 3.SQL*Plus常用命令的使用


       3.1 SET命令

                   SET命令用来设置SQL*Plus的运行环境。语法格式为:SET    system_option    value 

选项

说明

set linesize {80|n}

设置SQL*Plus在一行中能够显示的总字符数,默认值为80。可以的取值为任意正整数。

Set  newpage {1|n|none}

设置每页打印标题前的空行数,默认值为1

set pagesize {14|n}

设置每页打印的行数,该值包括NEWPAGE设置的空行数。

set pause{off|on|text}

设置SQL*Plus输出结果时是否滚动显示。当取值为ON时表示输出结果的每一页都暂停,用户按下回车键后继续显示;取为字符串时,每次暂停都将显示该字符串。


       3.2 DESCRIBE命令

                     DESCRIBE命令可以返回数据库中所存储的对象的描述。对于表、视图等对象而言,DESCRIBE命令可以列出其各               个列的名称以及各个列的属性。除此之外,DESCRIBE还会输出过程、函数和程序包的规范


       3.3 PROMPT命令

              使用PROMPT命令可以在屏幕上输出一行数据,这种输出方式非常有助于在存储的脚本文件中向用户传递相应的信息。
              PROMPT命令的语法形式如下:PROMPT prompt_text;
               Prompt_text表示用于指定要在屏幕上显示的提示信息。  

               用@命令来运行脚本文件 

               先写个脚本文件,放在某个路径下(这里脚本文件里面是 select  username from  dba_users;

                    

            @命令格式:  @+空格+脚本文件的路径


       3.4 SPOOL命令

            

使用SPOOL命令可以把查询结果保存到文件中,或者把查询结果发送到打印机中。

SPOOL命令的语法格式如下:spool file_name  [create ] | [replace] | [append] | off;
        说明:
                file_name参数用于指定文件的名称,默认的扩展名为.LST
                create关键字表示创建一个新的文件
                replace关键字表示替代已经存在的文件
                append表示把内容附加到一个已经存在的文件中

 

        

               注意:spool命令执行的结果为:从spool命令开始,直到spool off 间的查询结果保存到文件中。

       3.5格式化查询结果

             SQL*Plus提供了大量的命令用于格式化查询结果,使用这些命令可以对查询结果进行格式化,以产生用户需要的报表。                      使用这些命令可以实现重新设置列的标题,重新定义列的值的显示格式和显示宽度,为报表增加头标题和底标题,                        在报表中显示当前日期和页号,也可以为报表添加新的统计数据等。常用的格式化查询结果命令包括:COLUMN、                      BTITLE和TTITLE等。

       lCOLUMN命令

                     语法格式:column [ [column_name ] alias | option ]

                      说明:column_name参数用于指定要控制的列名称。

                                 alias参数用于指定列的别名。

                                 option参数用于指定某个列的显示格式

    Option选项的取值及意义 

选项

说明

FORMAT

为列指定显示格式

HEADING

定义列的标题

JUSTIFY

调整列标题的对齐方式。默认情况是数字列为右对齐,其他列为左对齐。可以设置的标题位置值为:LEFTCENTERRIGHT

ON|OFF

控制显示属性的状态,OFF表示定义的显示属性不起作用

WRAPPED

当字符串的长度超过显示宽度时,将字符串的超出部分折叠到下一行显示。

            举例: 

                         

           说明:9和0为数字值的格式化掩码。9表示查询结果中数字替换格式中的掩码;0表示格式中的掩码屏蔽掉查询结果中的数字。 

          显示结果:

                            

          为查询的各列指定别名
                 SQL> column empno heading 工作编号
                 SQL> column ename heading 姓名
                 SQL> column sal heading 工资
                 SQL> select empno,ename,sal from emp;

                  

         使用命令查看特定列的显示属性:Column 列名
                 例如:column sal
         通过ON/OFF设置某列的显示属性是否起作用。
                例如:column sal off 禁用了列的显示属性 


       TTITLE和BTITLE命令

                       

          利用TTITLEBTITLE 命令设置打印时每页的顶部和底部标题。

  TTITLE命令的语法格式:TTITLE [printspec [text| variable]…] |[off|on]

     说明:

              printspec用来设置格式化头部标题的字句。它可以用如下选项。

     LEFT|CENTER|RIGHT  在当前行中左对齐|中间|右对齐打印

    BLOD 以黑体打印数据

    COL 指定在当前行的第几列打印头部标题。

    SKIP 跳到从下一行开始的第几行,默认值为1

   off 选项用于禁止打印头部标题,on用于打印头部标题

举例:
SQL> ttitle center '职工信息表'
SQL> btitle left ‘2020/03/31'
SQL> select empno,ename,job,sal from scott.emp;

SQL>  ttitle  center '职工信息表'  skip -      说明:skip- 是本行未完接下行(和英语的分隔-类似)
SQL >  left "页" SQL.PNO skip                  说明:sql.pno是页码
SQL > select empno,ename,sal from scott.emp;

SQL > btitle left _date                                说明:btitle和ttitle类似,前者在底部,后者在顶部。_date是当前时间
 

3.6缓存区

                              SQL*Plus可以在缓存区中存储用户最近执行的命令。通过在缓存区中存储这些命令,用户可以重新调用、编                                 辑或运行那些最近输入的SQL语句。编辑缓存区最常用的方法是将缓存区中的内容传递到Windows记事本中                                 进行编辑。

                         保存缓存到文件中:save file_name  [create ] | [replace] | [append] ;

                         例如save C:\orclexmp\employee.sql

                         使用命令EDIT  可以对文本内容进行编辑

                 例如: edit c:\orclexmp\employee.sql

                 使用命令:GET命令把一个命令文件的内容放进缓存区使用。

                 语法形式:  Get file_name [.ext] [list|nolist]

                     SQL> get c:\orclexmp\employee.sql             说明:这里取到缓存中,

                             1* select empno,ename,sal from scott.emp

                              SQL> /                                                              说明:使用  /  执行缓存中的命令

                             注意:/执行存储在缓存区中最近执行的SQL命名。

                             使用命令LIST查看缓存区中最近执行的SQL命令

                         说明:在查询语句中,允许使用变量替代查询条件语句中的常量值,形式为&变量名。

                         例如:select empno,ename,sal from scott.emp  where sal > &s;

                          使用命令CLEAR BUFFER除缓存区中的内容。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章