MySQL到CSV

把MySQL数据导出为CSV格式,实现快速的导入导出,分为本地和远程两种方式

MySQL自带的数据导出的命令(本地导出)

导出:select * from tableA into outfile ‘/tmp/aa.csv‘ fields terminated by ‘,‘ optionally enclosed by ‘"‘ lines terminated by ‘\n‘ "

导入:load data infile "/tmp/file.csv" into table money fields terminated by ‘,‘ optionally enclosed by ‘"‘ lines terminated by ‘\n‘

相关参数:

FIELDS TERMINATED BY ‘字符串‘:设置字符串为字段之间的分隔符,可以为单个或多个字符。默认值是“\t”。

OPTIONALLY ENCLOSED BY ‘字符‘:设置字符来括住CHAR、VARCHAR和TEXT等字符型字段。默认情况下不使用任何符号

LINES TERMINATED BY ‘字符串‘:设置每行数据结尾的字符,可以为单个或多个字符。默认值是“\n”

远程导出CSV格式:

/usr/local/mysql/bin/mysql -h 192.168.1.1 -P3307 -udlan -proot123 -ss -e "select * from  gjol_log_ob3.money_20160821 limit 2" |sed ‘s/\t/","/g;s/^/"/;s/$/"/;s/\n//g‘>/tmp/file1.csv

##ss为导出的时候去掉表头字段

导入数据:load data infile "/tmp/file1.csv" into table money1 fields terminated by ‘,‘ optionally enclosed by ‘"‘ lines terminated by ‘\n‘

###sed 命令使用:

常用选项:

-n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。

-e∶直接在指令列模式上进行 sed 的动作编辑;

-f∶直接将 sed 的动作写在一个档案内, -f filename 则可以执行 filename 内的sed 动作;

-r∶sed 的动作支援的是延伸型正规表示法的语法。(预设是基础正规表示法语法)

-i∶直接修改读取的档案内容,而不是由萤幕输出。

常用命令:

a   ∶新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~

c   ∶取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!

d   ∶删除,因为是删除啊,所以 d 后面通常不接任何咚咚;

i   ∶插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);

p  ∶列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起运作~

s  ∶取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!

数据导出为CSV格式,能更好的应用到其他的平台,如hadoop,inf等场景,加快数据的I/O的速度

时间: 2024-10-12 12:32:38

MySQL到CSV的相关文章

linux 环境下 mysql 导出CSV格式报表

一般情况下不会特意到linux系统上去使用mysql, 毕竟没有类似MysqlFront这样现成的操作工具.但是产品的线上服务器是linux服务器,没办法,只能硬着头皮码shell语句来操作了. 通用语句如下: mysql -u biadmin -h lbw-52xfj.mysql.rds.aliyuncs.com -p -e "你需要的sql语句" > 文件输出位置 -u 是mysql用户名, -h 是主机地址(如果是在本机上操作可以写 "localhost"

mysql导出csv

原网页 http://www.web-jia.com/view.php?a=12 今天有的需求要一些数据,现在这套系统用了mysql数据库了,没有sqlserver导出数据那么简单了 要数据想到最简单的当然是导出csv了 查了一下有outfile 可以用稍微设置一下就可以了还是挺不错的 select * from player into outfile 'd:/out.csv' fields terminated by ',' optionally enclosed by '' lines te

MySQL导入csv数据

在工作中经常遇到需要往MySQL数据库中导入开发人员提供的数据,其中一种是csv格式的,导入方式如下: 创建相应的表格 mysql> use kevin; Database changed mysql> CREATE TABLE GeoPC_Places (     -> ISO varchar(2) NOT NULL,     -> Country varchar(50) NOT NULL,     -> Language varchar(2) NOT NULL,     

Mysql 导入CSV数据 语句

1. 登陆mysql 2. use testdb 3. 执行导入语句 LOAD DATA LOCAL INFILE 'd://exportedtest2.csv' INTO TABLE usertable fields terminated by ",";

mysql 导入csv文件

mysql> load data local infile '/root/bao/pingtaizhangwumingxi/20170206_zwmx-pt-rmb_297308.csv' into table platform_billing_details fields TERMINATED BY ',' LINES TERMINATED BY '\r\n' ignore 1 lines; Linux 用 shell 脚本 批量 导入 csv 文件 到 mysql 数据库 前提: 每个csv

mysql 导入CSV数据 [转]

转自: http://blog.chinaunix.net/uid-23284114-id-3196638.html MYSQL   LOAD DATA INFILE命令可以把csv平面文件中的数据导入到数据库中. linux下: LOAD DATA INFILE '/home/test/dump/ip_location.csv' INTO TABLE ip_location CHARACTER SET utf8 FIELDS TERMINATED BY ',' ENCLOSED BY '"';

MySQL到CSV几种方法

数据的导出导入,最常用的方法: 导出: SET NAMES "utf8" select * from ricci_var into outfile'/tmp/var.csv' fields terminated by ',' optionally enclosed by '"' lines terminated by '\n' 导入: SET NAMES "utf8" load data infile "/tmp/var.csv"int

mysql中csv文件的导入导出

导出例子: select *from testinto outfile 'D:test.csv'fields terminated by ',' optionally enclosed by '"' escaped by '"'lines terminated by '\r\n'; 导入例子:load data infile 'D:test.csv' into table `test` fields terminated by ',' optionally enclosed by '&

mysql导出csv格式去除字段中的\n\r

第一种方法 在导出界面,打开csv自定义选项,勾选 "删除字段中的回车换行符" 选项 phpmyadmin版本是3.4 2.X版本没看到这个选项 第二种方法 UPDATE catalog_product_entity_text SET `value` = REPLACE( REPLACE( `value` , CHAR( 10 ) , '' ) , CHAR( 13 ) , '' ) ; 将数据库字段回车符去掉