加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱制作网_池州站长网 (https://www.0566zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql导入csv格式数据

发布时间:2022-11-21 11:07:43 所属栏目:MySql教程 来源:
导读:  首先从oracle中导出数据,采用工具sqluldr2,sqluldr2是一款Oracle数据快速导出工具,包含32、64位程序,sqluldr2在大数据量导出方面速度超快,能导出亿级数据为excel文件,另外它的导出速度也是非常快速,功能是
  首先从oracle中导出数据,采用工具sqluldr2,sqluldr2是一款Oracle数据快速导出工具,包含32、64位程序,sqluldr2在大数据量导出方面速度超快,能导出亿级数据为excel文件,另外它的导出速度也是非常快速,功能是将数据以TXT/CSV等格式导出。
 
  1、先下载工具sqluldr2.zip,解压。
 
  在windows下我们使用sqluldr264.exe,输入cmd,进入dos界面
 
  C:\zhanglinwang\soft\sqluldr2\sqluldr264.exe USER=wireless/密码@wuxian_qy QUERY="select /*+ parallel(2) */ * from userlog" table=userlog head=yes charset=utf8 FILE=C:\zhanglinwang\userlog.csv
 
  说明:USER=wireless/密码@wuxian_qy,以为我本地配置有数据库的监听,所以写了监听的名字wuxian_qy,也可以直接写成USER=wireless/密码@10.xx.xx.xx/test (数据库ip/数据库名称)
 
  2、导入到mysql中
 
  mysql -h127.0.0.1 -uhive -phive
 
  mysql> show variables like 'sql_mode';
 
  +---------------+----------------------------------------------------------------+
 
  | Variable_name | Value |
 
  +---------------+----------------------------------------------------------------+
 
  | sql_mode | STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
 
  +---------------+----------------------------------------------------------------+
 
  1 row in set (0.00 sec)
 
  mysql> set sql_mode='';
 
  Query OK, 0 rows affected (0.00 sec)
 
  mysql> load data infile "C:\zhanglinwang\userlog.csv"
 
  mysql> into table CUSTOMINFO
 
  mysql> CHARACTER SET utf8
 
  mysql> fields terminated by ','
 
  mysql> LINES TERMINATED BY '\r\n'
 
  mysql> IGNORE 1 LINES;
 
  -----------------------------------------------
 
  重点说明:如果字段中有换行,导出就需要设置一些参数,否则会产生多余的行
 
  比如导出以#号分割,如果有换行MySQL 导入数据,就会产生多余的行,
 
  导入到数据库中就产生多余的记录
 
  这时我们在导出的时候,就需要设置一些参数,处理换行
 
  导出数据:
 
  sqluldr264.exe USER=yw_omsm/yw_omsm@yw_omsm QUERY="select /*+ parallel(2) */ t.oid,t.maintainno,t.maintainsource,t.description,t.processdesc from t_maintain t;" table=t_maintain head=yes field=0x23 escape='\' escf=0x0a esct=n FILE=F:\software\数据库\sqluldr2\t_maintain.txt
 
  没有换行了
 
  再导入到mysql中
 
  load data local infile "F:/software/数据库/sqluldr2/t_maintain.txt"
 
  into table t_maintain
 
  CHARACTER SET gbk
 
  fields terminated by '#'
 
  IGNORE 1 LINES;
 
  数据库表也正常了
 
 
 

(编辑:我爱制作网_池州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!