使用sql从服务器上导出数据并生成excel,(处理大数据中的部分数据复杂关系很好使)
1,将select的数据放到一张表中
Createtable test select * from table1 where 1
2,将数据导出到sql
mysqldump-uroot -ppwd database test >db.sql
3,使用navicat的运行sql命令将数据导入到本地(当然,这里可以根据自己的需要进行任何的操作),然后用导出功能就可以导出到excel等需要的格式了
4,将临时表删除.
----------------------2014-3-14-----------------------
navicat导出很方便,今天遇到麻烦了,几万条数据导出非常慢,在三千多条的时候报不能导出了,所以还是用原始些的方法吧
select 'head1','head2'
union
select * from table into outfile 'd:\\test.xls'
然后把\N替换掉 如果字段value是中文的话可以使用convert(value using gb2312)选择编码,使用navicat的视图设计工具可以少敲些sql
备忘:
导出到文件
select * into outfile'/tmp/data.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSEDBY '"'
LINES TERMINATED BY '\n'
from table1 where 1
时间处理
FROM_UNIXTIME(time,'%y-%m-%d %T')时间戳转时间
UNIX_TIMESTAMP(’2014-01-0100:00:00′) 时间转时间戳
连接字符串 CONCAT(str1,str2,...)
判断 IF(gender=1,'男','女')
选择字符编码 convert(value using gb2312)