首页数据库SQL PLUS基本命令的使用方法示例

SQL PLUS基本命令的使用方法示例

时间2024-02-28 15:43:03发布访客分类数据库浏览310
导读:收集整理的这篇文章主要介绍了SQL PLUS基本命令的使用方法示例,觉得挺不错的,现在分享给大家,也给大家做个参考。 1、oracle 中 dba,all,user, 之间的区别1. 结...
收集整理的这篇文章主要介绍了SQL PLUS基本命令的使用方法示例,觉得挺不错的,现在分享给大家,也给大家做个参考。

1、oracle 中 dba,all,user, 之间的区别

1. 结论:'权限大小不同': dba_* >
     all_* >
     user_*   (1) dba_* : 可以访问 '数据库' 中所有的对象(前提:该用户是 dba 用户)   (2) all_* :某一用户 '拥有' 的或 '可以访问' 的所有的对象   (3) user_*:某一用户 '拥有' 的所有对象2. 查询是否是 dba 用户   select * From dba_role_PRivs t where t.granted_role = 'DBA';
    

2、desc

desc:万能查看命令查看dept表SQL>
     desc dept Name                                      Null?    TyPE ----------------------------------------- -------- -------------------------- DEPTNO                                    NOT NULL NUMBER(2) DNAME                                              VArchAR2(14) LOC                                                VARCHAR2(13)

3、设置SQL*PLUS的运行环境,包括每行的显示字符数、每页显示行数、每页打印标题前空行数。 set命令基本语法

在Oracle 11g数据库中,用户可以使用set命令来设置SQL*Plus的运行环境;

set System_variable value;
    system_variable:变量名;value:变量值;

通过set命令设置的环境变量是临时的,不是永久的;

当用户退出SQL*Plus环境后,用户设置的环境参数会全部消失;

使用set命令设置运行环境

pagesize变量:该变量用来设置从顶部标题至页结束之间的行数;set pagesize value;
    value的默认值为14;使用show pagesize命令显示当前SQL*Plus环境中的一页有多少行;show pagesize;
    同理:newpage变量:该变量用来设置一页中空行的数量;set newpage value;
    value的默认值为1;show newpage;
    linesize变量:该变量用来设置在SQL*Plus环境中一行所显示的最多字符总数;set linesize value;
    value的默认值为80;show linesize;
    pause变量:该变量用来设置SQL*Plus输出结果是否滚动显示;set pause value;
    value变量值有以下三种情况:- off:默认值,表示返回结果一次性输出完毕,中间的每一页不会暂停;- on:表示输出结果的每一页都暂停,用户按后回车键后会继续显示;- text:在设置pause的值为on之后,再设置text的值,则每次暂停都将显示该字符串;         当pause的值设置为off时,设置text的值没有任何意义;

oracle用命令执行sql脚本文件

当sql命令过多(sql文件过大)时,用plsql执行时比较慢而且容易超时,此时可以用sqlplus命令直接执行sql脚本文件。

@ H:/sql/test.sql  (绝对路径)

oracle中spool将查询的数据写入文件

通常情况下,我们使用SPOOL方法,将数据库中的表导出为文本文件的时候会采用两种方法,如下述:

方法一:采用以下格式脚本set colsep '' ------设置列分隔符set trimspool onset linesize 120set pagesize 2000set newpage 1set heading offset term offspool 路径+文件名select * from tablename;
    spool off方法二:采用以下脚本set trimspool onset linesize 120set pagesize 2000set newpage 1set heading offset term offspool 路径+文件名select col1||','||col2||','||col3||','||col4||'..' from tablename;
    spool off


差别:

比较以上方法,即方法一采用设定分隔符然后由sqlplus自己使用设定的分隔符对字段进行分割,方法二将分隔符拼接在SELECT语句中,即手工控制输出格式。

在实践中,我发现通过方法一导出来的数据具有很大的不确定性,这种方法导出来的数据再由sql导入的时候出错的可能性在95%以上,尤其对大批量的数据表,如100万条记录的表更是如此,而且导出的数据文件狂大。

而方法二导出的数据文件格式很规整,数据文件的大小可能是方法一的1/4左右。经这种方法导出来的数据文件再由sqll导入时,出错的可能性很小,基本都可以导入成功。

因此,实践中我建议大家使用方法二手工去控制spool文件的格式,这样可以减小出错的可能性,避免走很多弯路。

ttITle,BTitle命令

它主要是对头标题与尾标题的设置,如下:eg:为查询结果设置居中的头部标题、居右的当天日期作为尾部标题,并为查询结果列定义列标题。SQL>
     ttitle center '结果';
    SQL>
     btitle right '2021/03/30';
    SQL>
     select * from dept;
     ;
                                          结果    DEPTNO DNAME          LOC---------- -------------- -------------        10 ACCOUNTING     NEW YORK        20 RESEARCH       DALLAS        30 SALES          CHICAGO        40 operaTIONS     BOSTON                                                                      2021/03/30如果想撤消ttitle与btitle:SQL>
     ttitle off;
    SQL>
     btitle off;
    SQL>
     select * from dept;
        DEPTNO DNAME          LOC---------- -------------- -------------        10 ACCOUNTING     NEW YORK        20 RESEARCH       DALLAS        30 SALES          CHICAGO        40 OPERATIONS     BOSTONSQL>
                                                       

column 命令

format格式化输出

format 选项用于格式化指定的列SQL>
     column sal format $99,99,99;
    SQL>
     select empno,ename,sal from scott.emp;
         EMPNO ENAME             SAL---------- ---------- ----------      7369 SMITH           $8,00      7499 ALLEN          $16,00      7521 WARD           $12,50      7566 JONES          $29,75      7654 MARTIN         $12,50      7698 BLAKE          $28,50      7782 CLARK          $24,50      7788 SCOTT          $30,00      7839 KING           $50,00      7844 TURNER         $15,00      7876 ADAMS          $11,00     EMPNO ENAME             SAL---------- ---------- ----------      7900 JAMES           $9,50      7902 FORD           $30,00      7934 MILLER         $13,0014 rows selected.heading 选项用于定义列标题SQL>
     col empno heading 雇员编号;
    SQL>
     col ename heading 雇员姓名;
    SQL>
     col sal heading 雇员薪水;
    SQL>
     select empno,ename,sal from scott.emp;
      雇员编号 雇员姓名     雇员薪水---------- ---------- ----------      7369 SMITH           $8,00      7499 ALLEN          $16,00      7521 WARD           $12,50      7566 JONES          $29,75      7654 MARTIN         $12,50      7698 BLAKE          $28,50      7782 CLARK          $24,50      7788 SCOTT          $30,00      7839 KING           $50,00      7844 TURNER         $15,00      7876 ADAMS          $11,00  雇员编号 雇员姓名     雇员薪水---------- ---------- ----------      7900 JAMES           $9,50      7902 FORD           $30,00      7934 MILLER         $13,0014 rows selected.


对缓存区的操作

(1)查看当前缓存区中的SQL命令。>
    list(2)执行存储在缓存区的SQL命令。>
    run(3)将缓存区中的内容保存到一个SQL脚本文件(文件名自拟)。>
    save C:/sql.sql(4)把一个脚本文件的内容放进缓存区,并执行缓存区中的语句。>
    get C:/sql.sql>
    start C:/sql.sql(5)清除缓存区中的内容。>
    clear bufferSQL>
     save H:/sql/test3.txt;
    Created file H:/sql/test3.txtSQL>
     get H:/sql/test.sql;
      1  select table_name from user_tables;
      2* desc deptSQL>
     start H:/sql/test.sql;
    TABLE_NAME------------------------------DEPTEMPBONUSSALGRADE Name                                      Null?    Type ----------------------------------------- -------- ---------------------------- DEPTNO                                    NOT NULL NUMBER(2) DNAME                                              VARCHAR2(14) LOC                                                VARCHAR2(13)SQL>
     clear buffer;
    buffer clearedSQL>
    

总结

到此这篇关于SQL PLUS基本命令使用的文章就介绍到这了,更多相关SQL PLUS命令使用内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

您可能感兴趣的文章:
  • sqlplus登录\连接命令、sqlplus命令的使用大全
  • oracle sqlplus 常用命令大全
  • 使用sqlplus命令行工具为oracle创建用户和表空间
  • oracle 中 sqlplus命令大全

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: SQL PLUS基本命令的使用方法示例
本文地址: https://pptw.com/jishu/631620.html
ORACLE数据库对long类型字段进行模糊匹配的解决思路 Oracle数据库scott用户创建view视图权限的操作方法

游客 回复需填写必要信息