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
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)
![](https://i-blog.csdnimg.cn/blog_migrate/221ac4e11d0c879554155e38890bd366.jpeg)
最后
针对于上面的问题,我总结出了互联网公司Android程序员面试涉及到的绝大部分面试题及答案,并整理做成了文档,以及系统的进阶学习视频资料。
(包括Java在Android开发中应用、APP框架知识体系、高级UI、全方位性能调优,NDK开发,音视频技术,人工智能技术,跨平台技术等技术资料),希望能帮助到你面试前的复习,且找到一个好的工作,也节省大家在网上搜索资料的时间来学习。
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
.imgtp.com/2024/03/13/H4lCoPEF.jpg" />
最后
针对于上面的问题,我总结出了互联网公司Android程序员面试涉及到的绝大部分面试题及答案,并整理做成了文档,以及系统的进阶学习视频资料。
(包括Java在Android开发中应用、APP框架知识体系、高级UI、全方位性能调优,NDK开发,音视频技术,人工智能技术,跨平台技术等技术资料),希望能帮助到你面试前的复习,且找到一个好的工作,也节省大家在网上搜索资料的时间来学习。
[外链图片转存中…(img-oPHXw1mD-1712552749972)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!