Hello world. 志不强者智不达,言不信者行不果.

mysql和oracle导出csv文件

oracle

 
主要结构如下:
set colsep , 
set feedback off 
set heading off 
set trimout on 
spool e:\leo.csv 
select id,name from leoo;
spool off 
exit

在sql*plus中执行以上代码即可。

sqlplus -s 用户名/密码@数据库名 @spool.sql
 
我在工程中使用的代码是:
define exportPath=&1
define falias=&2
define fileName=&3
/*
exportPath: 导出路径
falias: 风场别名
*/

set colsep ','
set heading off
set pagesize 0
SET TRIMSPOOL ON
SET TRIMOUT ON
set linesize 32767
set feedback off
set termout off
set timing off
set verify off
set echo off
set newpage none
set sqlblanklines off
set trims on
set serveroutput on
set NULL NULL

define exportFile = &exportPath./&fileName..csv

spool &exportFile

BEGIN
    dbms_output.put_line('"alias","id"');
    FOR crs IN (SELECT fac_alias alias, fac_id id FROM fac_info where fac_alias like '&falias%'
                UNION
                SELECT bay_alias, bay_id FROM bay_info WHERE bay_alias LIKE '&falias%'
                UNION
                SELECT other_alias, other_id FROM other_device WHERE other_alias LIKE '&falias%'
                UNION
                SELECT cb_alias, cb_id FROM cb_device WHERE cb_alias LIKE '&falias%'
                UNION
                SELECT bs_alias, bs_id FROM bs_device WHERE bs_alias LIKE '&falias%'
                UNION
                SELECT tr_alias, tr_id FROM tr_device WHERE tr_alias LIKE '&falias%'
                UNION
                SELECT gn_alias, gn_id FROM gn_device WHERE gn_alias LIKE '&falias%'
                UNION
                SELECT ld_alias, ld_id FROM ld_device WHERE ld_alias LIKE '&falias%'
                UNION
                SELECT rc_alias, rc_id FROM rc_device WHERE rc_alias LIKE '&falias%'
                UNION
                SELECT wd_alias, wd_id FROM wd_device WHERE wd_alias LIKE '&falias%'
                UNION
                SELECT other_alias, other_id FROM rly_device WHERE other_alias LIKE '&falias%'
                UNION
                SELECT wtg_alias, wtg_id FROM wtg_device WHERE wtg_alias LIKE '&falias%'
                UNION
                SELECT yx_alias, yx_id FROM yx_define WHERE yx_alias LIKE '&falias%'
                UNION
                SELECT yc_alias, yc_id FROM yc_define WHERE yc_alias LIKE '&falias%'
                UNION
                SELECT kwh_alias, kwh_id FROM dd_define WHERE kwh_alias LIKE '&falias%'
                UNION
                SELECT yk_alias, yk_id FROM yk_yx_rely WHERE yk_alias LIKE '&falias%'
                UNION
                SELECT ied_alias, ied_id FROM ied_info WHERE ied_alias LIKE '&falias%'
                UNION
                SELECT ld_alias, ld_id FROM ld_info WHERE ld_alias LIKE '&falias%') LOOP
        dbms_output.put_line('"'||TRIM(crs.alias) || '","' || crs.id||'"');
    END LOOP;
END;
/

spool off

exit


 mysql

 
基本机构如下:
 
select id,name_chn from node_wf_region into outfile 'e://node_wf_region.csv' fields terminated by ',';


 
我在工程中使用的代码如下:
set @sql_script = concat("select '\"alias\",\"id\"' into outfile '",@exportPath,"/",@fileName,".csv' character set utf8 lines terminated by '\\n'");
prepare stmt from @sql_script;
execute stmt;
deallocate prepare stmt;

set @sql_script = concat("select concat('\"',alias,'\"'),concat('\"',id,'\"')
into outfile'",@exportPath,"/",@fileName,"_content.csv' character set utf8 fields terminated by ',' lines terminated by '\\n'
from( SELECT fac_alias alias, fac_id id FROM fac_info where fac_alias like '",@falias,"%'
      UNION
      SELECT bay_alias, bay_id FROM bay_info WHERE bay_alias LIKE '",@falias,"%'
      UNION
      SELECT other_alias, other_id FROM other_device WHERE other_alias LIKE '",@falias,"%'
      UNION
      SELECT cb_alias, cb_id FROM cb_device WHERE cb_alias LIKE '",@falias,"%'
      UNION
      SELECT bs_alias, bs_id FROM bs_device WHERE bs_alias LIKE '",@falias,"%'
      UNION
      SELECT tr_alias, tr_id FROM tr_device WHERE tr_alias LIKE '",@falias,"%'
      UNION
      SELECT gn_alias, gn_id FROM gn_device WHERE gn_alias LIKE '",@falias,"%'
      UNION
      SELECT ld_alias, ld_id FROM ld_device WHERE ld_alias LIKE '",@falias,"%'
      UNION
      SELECT rc_alias, rc_id FROM rc_device WHERE rc_alias LIKE '",@falias,"%'
      UNION
      SELECT wd_alias, wd_id FROM wd_device WHERE wd_alias LIKE '",@falias,"%'
      UNION
      SELECT other_alias, other_id FROM rly_device WHERE other_alias LIKE '",@falias,"%'
      UNION
      SELECT wtg_alias, wtg_id FROM wtg_device WHERE wtg_alias LIKE '",@falias,"%'
      UNION
      SELECT yx_alias, yx_id FROM yx_define WHERE yx_alias LIKE '",@falias,"%'
      UNION
      SELECT yc_alias, yc_id FROM yc_define WHERE yc_alias LIKE '",@falias,"%'
      UNION
      SELECT kwh_alias, kwh_id FROM dd_define WHERE kwh_alias LIKE '",@falias,"%'
      UNION
      SELECT yk_alias, yk_id FROM yk_yx_rely WHERE yk_alias LIKE '",@falias,"%'
      UNION
      SELECT ied_alias, ied_id FROM ied_info WHERE ied_alias LIKE '",@falias,"%'
      UNION
      SELECT ld_alias, ld_id FROM ld_info WHERE ld_alias LIKE '",@falias,"%')t");
-- select @sql_script;
prepare stmt from @sql_script;
execute stmt;
deallocate prepare stmt;

如有不清除请联系:342834599

 


标签: 数据库MySQLOracle

作者:yuanmouren1hao 分类:数据库/MySql/Oracle/sqlite 浏览:474 评论:0
留言列表
发表评论
来宾的头像

Top