`
hanqunfeng
  • 浏览: 1526314 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

mysql批量导入与导出csv文件

 
阅读更多

一.导入

数据格式:
38685553,48892651535927700000,525510
38685554,46572883155250700000,525510
38685555,52446794994419400000,525510
38685556,53130337139017900000,525510
38685557,41372542661334700000,525510
38685558,39889333997901200000,525510
38685559,48892651535927700000,525510
38685560,46572883155250700000,525510
38685561,52446794994419400000,525510
38685562,53130337139017900000,525510
 
在处理csv文件时,如果包含中文,有可能会出现编码问题,可以在linux下使用如下命令进行转码:

iconv -f GB2312 -t UTF-8 old.csv > new.csv

 

如果转换失败,说明被转换的内容超过了字符集的限定,所以可以使用如下的字符集进行转换:

GBK

GB18030

 

字符集范围:

GB18030 > GBK > GB2312

 转码后用more查看时显示中文正常即可。
 
CREATE TABLE `tbl_card_point_i` (
  `capo_num` int(11) DEFAULT NULL COMMENT '序号',
  `capo_password` varchar(255) DEFAULT NULL COMMENT '密码',
  `capo_picinum` int(11) DEFAULT NULL COMMENT '批次',
  `capo_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `capo_agency_name` varchar(255) DEFAULT NULL COMMENT '代理loginid',
  PRIMARY KEY (`capo_id`),
  UNIQUE KEY `capo_num` (`capo_num`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='数据明细';
 
 
命令方式:
mysqlimport --local -h 192.168.36.29 --user=root --password=password cardstore  -i  --fields-enclosed-by='"' --fields-terminated-by=',' --lines-terminated-by='\r\n' ~/tbl_card_point_i.csv 
参数说明:
-L, --local         Read all files through the client. 读取的所有文件都是基于执行命令时所在的客户端。
-h, --host=name     Connect to host. 数据库服务器的IP地址。
-u, --user=name     User for login if not current user.
-p, --password[=name] 
                      Password to use when connecting to server. If password is
                      not given it's asked from the tty.
-i, --ignore        If duplicate unique key was found, keep old row.  如果希望替换,需要使用 -r 参数,两个参数不能同时出现。
--fields-enclosed-by='"':每个字段以空字符结尾。
--fields-terminated-by=',':字段间以逗号分隔。
--lines-terminated-by='\r\n':以回车符为每行的结束。
 
此方法要求文件名称必须为表名称“tbl_card_point_i”。
 
此时由于没有指定数据与字段对应方式,所以默认按表中字段顺序导入,也就是前三个字段,如果要指定导入的字段,这需要按如下方法导入:
mysqlimport --local -h 192.168.36.29 --user=root --password=password cardstore  -i  --fields-enclosed-by='"' --fields-terminated-by=',' --lines-terminated-by='\r\n'  --columns=capo_num,capo_password,capo_picinum ~/tbl_card_point_i.csv 
参数说明:
--columns=capo_num,capo_password,capo_picinum:逗号分隔字段名称。
 
如果数据文件中的头部有title,可以指定忽略掉头部的几行:
mysqlimport --local -h 192.168.36.29 --user=root --password=password cardstore  -r  --fields-enclosed-by='"' --fields-terminated-by=',' --lines-terminated-by='\r\n'  --columns=capo_num,capo_password,capo_picinum --ignore-lines=1 ~/tbl_card_point_i.csv
参数说明:
--ignore-lines=1:忽略掉第一行。
 
-r, --replace       If duplicate unique key was found, replace old row.
 
sql执行方式:
登录:mysql -u root -p
切换数据库:use cardstore
 
mysql> load data local infile '~/tbl_card_point_i.csv' replace into table tbl_card_point_i FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n' ignore 1 lines(capo_num,capo_password,capo_picinum);
参数说明:与mysqlimport命令基本类似,上面是主键重复时执行替换操作,下面是执行保留原数据操作:
mysql> load data local infile '~/tbl_card_point_i.csv' ignore into table tbl_card_point_i FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n' ignore 1 lines(capo_num,capo_password,capo_picinum);
 
此种方法不要求文件名称与表名称一致,因为指定了要导入到那张表 into table tbl_card_point_i。
 
LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name'
    [REPLACE | IGNORE]
    INTO TABLE tbl_name
    [CHARACTER SET charset_name]
    [FIELDS
        [TERMINATED BY 'string']
        [[OPTIONALLY] ENCLOSED BY 'char']
        [ESCAPED BY 'char']
    ]
    [LINES
        [STARTING BY 'string']
        [TERMINATED BY 'string']
    ]
    [IGNORE number LINES]
    [(col_name_or_user_var,...)]
    [SET col_name = expr,...]
 
 二.导出
命令方式:
mysqldump -uroot -ppassword cardstore tbl_card_point_i --fields-enclosed-by='"' --fields-terminated-by=',' --lines-terminated-by='\r\n' --tab=/mysqldump_dir
参数说明:
--tab=/mysqldump_dir:生成文件的路径,这里要确保mysql用户对/mysqldump_dir有读写权限,chown mysql:mysql /mysqldump_dir
生成的文件包含两个,一个是数据文件:tbl_card_point_i.txt,一个是见表语句:tbl_card_point_i.sql
 
如果同时导出多张表,则也会分别生成相应的2个文件。
mysqldump -uroot -ppassword cardstore table1 table2 --fields-enclosed-by='"' --fields-terminated-by=',' --lines-terminated-by='\r\n' --tab=/mysqldump_dir
 
sql执行方式:
mysql> select * from tbl_card_point_i into outfile '/mysqldump_dir/tbl_card_point_i.csv' fields terminated by ','  ENCLOSED BY '"' lines terminated by '\r\n';
分享到:
评论

相关推荐

    MySQL数据库操作软件

    简单易用的MySQL数据库操作软件,解压后里面有安装的注册信息。...4、支持导入与导出XML、HTML、CSV等多种格式的数据; 5、直接运行批量 SQL 脚本文件,速度极快; 6. 智能SQL语句自动完成功能;

    mysql客户端工具

    SQLyog 是业界著名的 Webyog 公司出品的一款简洁高效、功能强大的图形化 MySQL ...4、支持导入与导出XML、HTML、CSV等多种格式的数据; 5、直接运行批量 SQL 脚本文件,速度极快; 6. 智能SQL语句自动完成功能;

    mysql图形管理工具SQLyog Enterprise 7.14

    SQLyog 是业界著名的 Webyog 公司出品的一款简洁高效、功能强大的图形化 MySQL ...4、支持导入与导出XML、HTML、CSV等多种格式的数据; 5、直接运行批量 SQL 脚本文件,速度极快; 6. 智能SQL语句自动完成功能;

    SOLyog-Mysql管理工具

    4、支持导入与导出XML、HTML、CSV等多种格式的数据; 5、直接运行批量 SQL 脚本文件,速度极快; 6. 新版本更是增加了强大的数据迁移组件;  注意:此汉化基于企业零售版,拥有免费版和专业版所没有的专业...

    MySQL客户端工具SQLyog9.6.1绿色破解版

    SQLyog 是业界著名的 Webyog 公司出品的一款简洁高效、功能强大的图形化 MySQL 数据库...4、支持导入与导出XML、HTML、CSV等多种格式的数据; 5、直接运行批量 SQL 脚本文件,速度极快; 6. 智能SQL语句自动完成功能

    最新SQLyog MySQL GUI x86 11.2.0-4 Ultimate 多语言版本 带序列号

    一款图形化界面的MySQL数据库管理工具,可以让你轻松的远程维护数据库。...4、支持导入与导出XML、HTML、CSV等多种格式的数据; 5、直接运行批量 SQL 脚本文件,速度极快; 6. 智能SQL语句自动完成功能;

    SQLyog7.11,MySQL图形化管理工具

     4、支持导入与导出XML、HTML、CSV等多种格式的数据;  5、直接运行批量SQL脚本文件,速度极快;  6.新版本更是增加了强大的数据迁移组件;  企业零售版,拥有免费版和专业版所没有的专业组件(如:数据迁移...

    Mysql_SQLYogEnterprise_V8.12(最新版内含注册信息)

     4、支持导入与导出XML、HTML、CSV等多种格式的数据;  5、直接运行批量SQL脚本文件,速度极快;  6.新版本更是增加了强大的数据迁移组件;  企业零售版,拥有免费版和专业版所没有的专业组件(如:数据迁移、...

    MySQL 数据库管理工具

    SQLyog Community(MySQL管理) 简体中文社区免费版(32位和64位)是业界著名的 ...10、支持导入与导出XML、HTML、CSV等多种格式的数据; 11、直接运行批量 SQL 脚本文件,速度极快; 12. 智能SQL语句自动完成功能;

    SQLyog MySQL GUI 10.5.1-0 Ultimate 绿色中文版 带REGE注册

    SQLyog是业界著名的Webyog公司出品的一款简洁高效、功能强大的图形化... 30、支持导入与导出XML、HTML、CSV等多种格式的数据; 31、直接运行批量SQL脚本文件,速度极快; 32、新版本更是增加了强大的数据迁移功能。

    SQLyog_Enterprise 企业版含注册码

    以前做4F和php的时候老是需要快速编辑导入数据库,这个软件帮了我很大的忙!...4、支持导入与导出XML、HTML、CSV等多种格式的数据; 5、直接运行批量SQL脚本文件,速度极快; 6.新版本更是增加了强大的数据迁

    SQLyog中文破解版

    SQLyog 是业界著名的 Webyog 公司出品的一款简洁高效、功能强大的图形化 MySQL ...4、支持导入与导出XML、HTML、CSV等多种格式的数据; 5、直接运行批量 SQL 脚本文件,速度极快; 6. 智能SQL语句自动完成功能;

    SQLyog-11.3.3-0.x64-正式版可永久使用.zip

    强大MYSQL图形化管理工具,由业界著名的Webyog公司出品。SQLyog相比其它类似的...4、支持导入与导出XML、HTML、CSV等多种格式的数据; 5、直接运行批量SQL脚本文件,速度极快; 6、新版本更是增加了强大的数据迁移。

    SQLyog数据库检查工具(mysql),数据库工具

    4、支持导入与导出XML、HTML、CSV等多种格式的数据; 5、直接运行批量SQL脚本文件,速度极快; 6、新版本更是增加了强大的数据迁移。 快速备份和恢复数据。 以GRID/TEXT格式显示结果。 支持客户端挑选、过滤数据...

    SQLyog_Enterprise 8.14 绿色免安装版

    SQLyog 是业界著名的 Webyog 公司出品的一款简洁高效、功能强大的图形化 MySQL ...4、支持导入与导出XML、HTML、CSV等多种格式的数据; 5、直接运行批量 SQL 脚本文件,速度极快; 6. 智能SQL语句自动完成功能;

    SQLyog Enterprise 8.32 汉化绿色版_图形化MySQL数据库管理工具破解版(内附近注册码) 天涯浪子

    4、支持导入与导出XML、HTML、CSV等多种格式的数据; 5、直接运行批量 SQL 脚本文件,速度极快; 6. 智能SQL语句自动完成功能 说实话SQLyog不好汉化,居多的资源,光非标部分ASCII、Unicode、UTF-8字符串都有,...

    一款简洁高效、功能强大的图形化 MySQL 数据库管理工具

    一款简洁高效、功能强大的图形化 MySQL 数据库管理工具。使用 SQLyog 可以快速直观地让您从世界的任何角落通过网络来...10、支持导入与导出XML、HTML、CSV等多种格式的数据; 11、直接运行批量 SQL 脚本文件,速度极快

    sqlyog7.14注册码

    SQLyog 是业界著名的 Webyog 公司出品的一款简洁高效、功能强大的图形化 MySQL ...4、支持导入与导出XML、HTML、CSV等多种格式的数据; 5、直接运行批量 SQL 脚本文件,速度极快; 6. 智能SQL语句自动完成功能;

    SQLyog-9.6.3-0

    SQLyog是业界著名的Webyog公司出品的一款简洁高效、... 4、支持导入与导出XML、HTML、CSV等多种格式的数据;  5、直接运行批量SQL脚本文件,速度极快;  6.新版本更是增加了强大的数据迁 关于该文件:--〉你懂的

Global site tag (gtag.js) - Google Analytics