`
CharlesCui
  • 浏览: 419507 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Oracle->CSV , CSV->Sqlite3

阅读更多
Oracle的数据导出到CSV需要在SQLPlus中使用spool将标准输出定向到csv文件,

有很多set *** off的选项,为了避免在生成的csv文件中有多余的注释或者行头或者其它信息,看自己需要选择。

比如:
spool常用的设置
set colsep' ';    //域输出分隔符
set echo off;    //显示start启动的脚本中的每个sql命令,缺省为on
set feedback off;  //回显本次sql命令处理的记录条数,缺省为on
set heading off;   //输出域标题,缺省为on
set pagesize 0;   //输出每页行数,缺省为24,为了避免分页,可设定为0。
set termout off;   //显示脚本中的命令的执行结果,缺省为on
set trimout on;   //去除标准输出每行的拖尾空格,缺省为off
set trimspool on;  //去除重定向(spool)输出每行的拖尾空格,缺省为off 



通过spool指定输出的文件
spool UdbUser.csv


执行完毕后要关掉重定向
spool off




csv导入到Sqlite3中很方便,

网上有个导入导出csv到Sqlite3的记录,转过来:

http://blog.chinaunix.net/u/10686/showart_585970.html 写道

导入
命令: .import
sqlite> .import 文件名 表名
注1: 不要忘了开头的点
注2: 这条语句不能用分号结束. 非SQL不需要分号结束.
注3: 需要查看默认的分隔符separator. 必须一致. 如果不一致可能导致sqlite字段分割错误.
        查看分隔符使用命令  .show , 如果不一致可直接修改, 比如:
        sqlite>.separator ","
        将分隔符转为逗号.
举例1:
将文件a.csv中的数据导入表 tab_xx. (a.csv中字段以逗号分割)
sqlite> .separator ","
sqlite> .import a.csv tab_xx
sqlite>
导入结束.

导出
实现方式: 将输出重定向至文件.
命令: .output
sqlite> .output a.txt
然后输入sql语句, 查询出要导的数据. 查询后,数据不会显示在屏幕上,而直接写入文件.
结束后,输入
sqlite> .output stdout
将输出重定向至屏幕.
举例2:
将 tab_xx 中的数据导出到文件a.txt
sqlite> .output a.txt
sqlite> select * from tab_xx;
sqlite> .output stdout
导出完毕.



补充:

sql plus里面,

set linesize ***//一定要设置的大一些,但不能太大,设置小了,会发现每行数据都会换行,就无法导入Sqlite3中了。


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics