zkqiang/Job-Spider
ps:一些几G的文件使用导入向导导入navica时,速度太慢,所以尝试使用sql语句直接查询导入,方法如下:
一、查看mysql设置的权限
show variables like '%secure%';
查看 secure-file-priv 当前的值是什么
如上图所示,我设置的secure-file-priv
值为D:/CoderLife/testMySQL
,而 MySQL 默认的值为:
secure-file-priv="C:/ProgramData/MySQL/MySQL Server 5.7/Uploads"
二、在c盘中打开隐藏文件,找到mysql的安装文件夹,打开打开my.ini
配置文件进行查看及修改:
点开始->运行,输入 services.msc
在打开的"服务管理器"中找到mysql并双击,会弹出来个属性框框,"常规"选项卡里面有个"执行路径",从这个路径你就可以看到它的bin目录在哪.
# Windows 中
load
data infile
'..uploadstest.csv'
into
table
sampleTableName
fields terminated
by
','
optionally enclosed
by
'"'
escaped
by
','
lines terminated
by
'rn'
ignore
1 lines;
使用SQL语句将数据库表导出为csv文件:
鉴于Navicat比较容易上手,所以这里只介绍一下如何用SQL语句将数据库表导出为csv文件:
用select语句选择需要导出的字段、表,说明其他附加条件(例如用where子句,还可以进行排序),然后说明导出文件的路径和文件名,注意,如果是MySQL是在 secure-file-priv 选项下运行,则必须将路径调整为上文说过的
secure-file-priv路径,如果不知道,就用show variables like查看,否则报错Error 1209
当然,这样导出要求导出的文件不存在,否则报错 Error 1086
示例如下:
1
2
3
4
5select
*
from
newdb2.dataset
where
vendor =
'xiaomi'
order
by
time
into
outfile
'C:ProgramDataMySQLMySQL Server 5.7Uploadstest.csv'
fields terminated
by
','
optionally enclosed
by
'"'
lines terminated
by
'rn';
此示例用到了where 子句和order by 排序,应该够用了
load data infile 'D:/U/UserBehavior.csv/UserBehavior.csv'
INTO TABLE userbehavior
fields terminated by ',' optionally enclosed by '"' escaped by ','
lines terminated by 'rn' ;
win+R