广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >SQL PLUS基本命令的使用方法示例
  • 546
分享到

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

2024-04-02 19:04:59 546人浏览 八月长安
摘要

1、oracle 中 dba,all,user, 之间的区别 1. 结论:'权限大小不同': dba_* > all_* > user_* (1) dba_*

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 on
set linesize 120
set pagesize 2000
set newpage 1
set heading off
set term off
spool 路径+文件名
select * from tablename;
spool off

方法二:采用以下脚本
set trimspool on
set linesize 120
set pagesize 2000
set newpage 1
set heading off
set term off
spool 路径+文件名
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     BOSTON

SQL>
                                                   

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,00

14 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,00

14 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 buffer

SQL> save H:/sql/test3.txt;
Created file H:/sql/test3.txt
SQL> get H:/sql/test.sql;
  1  select table_name from user_tables;
  2* desc dept
SQL> start H:/sql/test.sql;

TABLE_NAME
------------------------------
DEPT
EMP
BONUS
SALGRADE

 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 DEPTNO                                    NOT NULL NUMBER(2)
 DNAME                                              VARCHAR2(14)
 LOC                                                VARCHAR2(13)

SQL> clear buffer;
buffer cleared
SQL>

总结

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

--结束END--

本文标题: SQL PLUS基本命令的使用方法示例

本文链接: https://www.lsjlt.com/news/123092.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SQL PLUS基本命令的使用方法示例
    1、Oracle 中 dba,all,user, 之间的区别 1. 结论:'权限大小不同': dba_* > all_* > user_* (1) dba_* ...
    99+
    2022-11-12
  • FTP命令的基本使用方法
    这篇文章主要介绍“FTP命令的基本使用方法”,在日常操作中,相信很多人在FTP命令的基本使用方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”FTP命令的基本使用方法”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-09
  • sql中exists的基本用法示例
    目录【exists语句的执行顺序如下】:附:exists与in比较总结:现有:班级表(A_CLASS) 学生表( STUDENT) 注:学生表(STUDENT)的classId关联班级表(A_CLASS)的主键ID ...
    99+
    2022-08-16
    sql exists语句 sql中的exists的作用 exists查询语句
  • SQL Sever 基本命令使用复习
    因为数据库原理的专业老师要在五一假期后进行考试,所以尝试写一个笔记,便于复习和分享。 这篇文章介绍了教材上第三章全部内容。 SQL Sever 基本命令使用复习 目录SQL Sever 基本命令使用复习前言虚拟...
    99+
    2017-12-02
    SQL Sever 基本命令使用复习
  • linux下wget命令的基本使用方法
    目录前言1、使用wget下载单个文件2、使用wget -O下载并以不同的文件名保存3、使用wget –limit -rate限速下载4、使用wget -c断点续传5、使用wget -b后台下载6、伪装代理名称下载7、使用...
    99+
    2022-06-04
    linux下wget命令详解 wget命令详解
  • view命令基本的使用方法有哪些
    view命令是一种用于查看文件内容的命令,常用的使用方法有:1. 查看文件内容:view filename2. 同时查看多个文件:v...
    99+
    2023-09-16
    view
  • 实战基本的Linux sed命令示例代码
    linux流编辑器是在数据中心中运行脚本的一种有用方法。通过这些命令示例,您可以开始熟悉sed。 想要修改文件而不覆盖原始文件的Linux管理员有很多选择,但最有效的工具之一是流编辑器 - sed。 流编辑器是大多数Li...
    99+
    2022-06-04
    Linux sed命令 Linux sed
  • mysql中desc esc基本命令的示例分析
    小编给大家分享一下mysql中desc esc基本命令的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! Sql代码&n...
    99+
    2022-10-19
  • docker基本命令及使用实例详解
    目录docker基本命令docker文件系统commit镜像容器数据卷具名和匿名挂载初识Dockerfile commitDockerfile 构建过程发布自己的镜像docker网络...
    99+
    2022-11-13
  • MyBatis-Plus中如何使用ResultMap的方法示例
    目录问题说明解决方法自定义@AutoResultMap注解MyBatis-Plus (简称MP)是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、...
    99+
    2022-11-12
  • bat批处理的基本命令和使用方法总结
    批处理命令是一种用于在 Windows 操作系统中自动执行任务的工具。批处理命令通常以 .bat 或 .cmd 为扩展名。一些常用的批处理命令如下: echo:用于在控制台显示文本信息。 se...
    99+
    2023-09-02
    linux 运维 服务器
  • Linux 修改Python命令的方法示例
    linux默认python命令指向的是/usr/bin下的python,这个python指向同目录下python2,以及pip默认也是python2的pip,想修改成pip指向pip3,开始实现操作。 删除原python...
    99+
    2022-06-04
    Linux 修改Python命令
  • Linux基础命令paste的使用方法
    这篇文章主要讲解了“Linux基础命令paste的使用方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux基础命令paste的使用方法”吧!paste将指定的文件按照列的方式合并,将...
    99+
    2023-06-06
  • linux基础命令grep的使用方法
    本篇内容主要讲解“linux基础命令grep的使用方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux基础命令grep的使用方法”吧!在linux中经常需要对文本或输出内容进行过滤,最常...
    99+
    2023-06-16
  • redis基本类型和使用方法的示例分析
    这篇文章主要介绍redis基本类型和使用方法的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!redis存储数据的基本类型有:string(字符串类型)、hash(散列类型)、...
    99+
    2022-10-18
  • Linux echo文本处理命令的使用及示例
    echo 在linux帮助文档的描述是显示一行文本,类似于python和java等编程语言中的print语句,实际上它的作用不仅仅如此。可以使用man echo查看详细的参数说明。 echo命令用于输出指定的字符串,...
    99+
    2022-06-03
    Linux echo命令
  • 更新基本表中的记录使用的sql命令怎么写
    小编给大家分享一下更新基本表中的记录使用的sql命令怎么写,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!数据库更新就一种方法Up...
    99+
    2022-10-18
  • redis基本安装判断、启动使用方法示例
    这篇文章给大家分享的是有关redis基本安装判断、启动使用方法示例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。redis基本安装判断、启动使用方法,具体如下:1、Redis对否...
    99+
    2022-10-18
  • Linux基本命令df和linux中du命令参数的用法
    这篇文章主要讲解了“Linux基本命令df和linux中du命令参数的用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux基本命令df和linux中du命令参数的用法”吧!以下是Li...
    99+
    2023-06-17
  • PyTorch中permute的基本用法示例
    目录permute(dims)附:permute(多维数组,[维数的组合])总结permute(dims) 将tensor的维度换位。 参数:参数是一系列的整数,代表原来张量的维度。...
    99+
    2022-11-10
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作