mysql - 如何将某些列及其数据从 csv 文件导入 mysql phpmyadmin
问题描述
我有一个myfile.csv
看起来像这样的大文件
从这个文件中,我想将some
列和明显rows
及其相关data
导入到mysql
数据库phpmyadmin
中。
该文件位于我的local
计算机上,我想从该文件中导入一些columns
,rows
到data
我的live
数据库中。
这是我在谷歌搜索后尝试过的。
table
我用以下列创建了一个
id
name
email
然后尝试query
在我的live
数据库中运行以下内容
LOAD DATA LOCAL INFILE '/tmp/myfile.csv' INTO TABLE registration_no
FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n'
(@col1,@col2,@col3) set id=@col1,name=@col2,email =@col3
笔记
myfile.csv
位于我的电脑上,在C:
驱动器中。
我运行正确吗query
,path
/tmp/myfile.csv
是正确的吗?
查询运行但数据没有加载到我的生活DB
中,请帮助我,我花了一天半的时间解决这个问题。
我读过这个。
解决方案
第 1 步:(首选)尝试只有要导入数据库的列(csv 文件)。
例如:如果要导入 3 列,则myfile.csv
删除其他不必要的列
第 2 步:由于您使用的是 Windows 系统,请确保在加载文件时正确指定路径。
第 3 步:如果您的 csv 有要跳过的标题,请使用IGNORE 1 LINES.
因此,查询将如下所示。
LOAD DATA LOCAL INFILE 'C:/myfile.csv' INTO TABLE registration_no
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES
(id, name, email);
第 4 步:(可选)如果您只需要从 csv 导入特定列。
例如: csv 包含 5 列,id, name, reg_no, dob, email,
但只需要导入 3 列id, name, email
。只需将该列插入到一个不存在的变量中。
那么查询应该是这样的
LOAD DATA LOCAL INFILE 'C:/myfile.csv' INTO TABLE registration_no
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES #to remove first `n` rows usually used to remove header of a file.
(id, name, @dummy, @dummy, email);
推荐阅读
- java - 尝试打开对话框以在 netbeans 中指定项目路径实际上需要 2 分钟
- python - Tkinter:无法设置边框颜色(井字游戏)
- sql - 如何在施法时间函数中获得毫秒
- angular - 纱线构建显示错误命令失败,退出代码为 1
- reactjs - 推断基于 gatsby-image 的高度和纵横比的宽度
- gravity-forms-plugin - 如何使用 Jquery 删除重力表单字段的必需属性?
- python - 有条件的删除重复项
- symfony4 - 如何使 HTTPClient 请求出现在 Symfony 分析器中?
- django - Jquery UI 自动完成与 Django 中的图片
- react-native - 如何为反应导航材料顶部标签 v5 设置非活动标签指示器样式?