数据库导入/导出csv格式的数据文件+添加新的字段
来源:互联网 发布:linux安装rar解压 编辑:程序博客网 时间:2024/06/05 07:07
转载自:http://www.cnblogs.com/luruiyuan/p/5713273.html
一.简单,但是稍慢的方法,使用Navicat for MySQL
傻瓜式导入数据库:
流程如下:
安装完成并配置好连接后界面如下:
新建数据库
进入导入向导
选择导入类型:
然后选择文件作为数据源,这里是我之前抓好的包,300w+条抓包记录
这里直接采取默认设置
同样默认
自己设置了下表明,新建了表
这里是程序根据文件内容进行的猜测,注意要修改下数据类型,并根据需要做相应调整,这里有点不太好,目前只找到了通过方向键“下”来添加,没有其他操作,如果增加的数据记录没有填写,则自动删除。
我将包的信息缩减到只用我需要的,这样抓取的信息就从1G锐减到200+M
半小时,300w+个记录
这慢的,谁用谁知道~~~~
二.使用SQL语句导入csv为表,速度快!
使用SQL语句可以快速实现大量数据导入数据库的效果。示例如下:
# Windows 中
load
data infile
'..\\uploads\\test.csv'
into
table
sampleTableName
fields terminated
by
','
optionally enclosed
by
'"'
escaped
by
','
lines terminated
by
'\r\n'
ignore
1 lines;
# Linux 中
load
data infile
'..\\uploads\\test.csv'
into
table
sampleTableName
fields terminated
by
','
optionally enclosed
by
'"'
escaped
by
','
lines terminated
by
'\n'
ignore
1 lines;
解释:
- load data infile + 文件路径:这里使用了相对路径,我的机子上安装的MySQL在'C:\ProgramData\MySQL\MySQL Server 5.7'中,一般情况下,csv文件中第一行一般是每列属性的名称,因此在导入数据库时应省略第一行
- 句子中sampleTableName应替换为对应的表的名称
- csv文件中,域一般用逗号分隔,域的字段值一般用一对双引号包裹,换行一般用‘\r\n’(windows下),因此我发现一般escaped by+逗号与lines terminated by+'\r\n'有对应关系,如果用escaped by """,即引号分隔,则只有将lines terminated by改成'\n'才能导入,并且此时不能ignore 1 lines;
常见错误:
Error Code 1290:
我机子上安装的是MySQL5.7,
MySQL5.7默认运行的状态是:
Error Code: 1290. The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
这是因为需要导入的文件不再MySQL认为的安全文件夹内,因此MySQL拒绝了导入操作。
使用如下语句可看到MySQL当前认为的安全文件夹,将文件放入文件夹内即可
SHOW VARIABLES
LIKE
'secure_file_priv'
;
三、使用SQL语句将数据库表导出为csv文件
鉴于Navicat比较容易上手,所以这里只介绍一下如何用SQL语句将数据库表导出为csv文件:
用select语句选择需要导出的字段、表,说明其他附加条件(例如用where子句,还可以进行排序),然后说明导出文件的路径和文件名,注意,如果是MySQL是在 secure-file-priv 选项下运行,则必须将路径调整为上文说过的
secure-file-priv路径,如果不知道,就用show variables like查看,否则报错Error 1209
当然,这样导出要求导出的文件不存在,否则报错 Error 1086
示例如下:
select
*
from
newdb2.dataset
where
vendor =
'xiaomi'
order
by
time
into
outfile
'C:\\ProgramData\\MySQL\\MySQL Server 5.7\\Uploads\\test.csv'
fields terminated
by
','
optionally enclosed
by
'"'
lines terminated
by
'\r\n'
;
此示例用到了where 子句和order by 排序,应该够用了
那就这样~see you~
- 数据库导入/导出csv格式的数据文件+添加新的字段
- php导入导出CSV格式的数据
- postgres数据库 数据文件的导入导出
- Postgresql数据库导入和导出CSV格式
- mysql数据文件的导入导出
- 导出CSV格式的文件
- mysql数据库中添加新的字段
- MySQL如何导入csv格式数据文件解决方案
- php利用phpexcel插件实现数据的导入和导出(支持csv\xls\xlsx格式和超过26个字段列)
- 数据库库数据文件个数超过200添加新的数据文件时报ora-59
- android 将SQLite数据库的表格导出为csv格式,并解析csv文件
- oracle数据文件的导入和导出
- 根据multiselect选择的字段导出csv
- PHP CSV导入导出数据库
- C#的CSV文件导入导出
- 数据库导出CSV格式,并压缩成ZIP的形式导出
- 数据库导出CSV格式,并压缩成ZIP的形式导出
- DateGridView导出到csv格式的Excel
- caffe安装使用、样本制作、网络修改、错误重新训练!
- 总结ES6常用的新特性
- 利用链表实现正整数转成字符串
- Torch
- Android应用获取通知栏权限是否开启--以及跳转到系统设置界面--解决方案
- 数据库导入/导出csv格式的数据文件+添加新的字段
- 基于最小二乘的矩阵分解问题
- 流媒体必备学习工具
- > 软件编程 > 安卓开发 > Unity编译时找不到AndroidSDK的问题:Unable to list target pla
- 错误信息:Cannot open /var/log/sa/sa**
- arcgis字段计算器实例
- mongo 无固定类型,php弱类型,加一起就是坑
- 简单易懂的自定义view
- Fragment相关源码解析一——FragmentManagerImpl和BackStackRecord