如何使用 LOAD DATA INFILE 将选定的列从 CSV 文件插入到 MySQL 数据库
我有一个包含 10 列的 CSV 文件。我只想从该文件中选择一些列,然后使用 LOAD DATA INFILE 命令将它们加载到 MySQL 数据库中。
I have a CSV file which contains 10 columns. I want to select only some columns from that file and load them into a MySQL database using the LOAD DATA INFILE
command.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
将数据加载到 MySQL 中的表中并指定列:
@col1,2,3,4 是保存 csv 文件列的变量(假设 4 ) name,id 是表列。
Load data into a table in MySQL and specify columns:
@col1,2,3,4 are variables to hold the csv file columns (assume 4 ) name,id are table columns.
在 load data infile 语句中指定 CSV 中的列名称。
代码是这样的:
这里,您只将数据添加到表中的两列(您可以使用列名称选择它们)。
您唯一需要注意的是您有一个 CSV 文件(filename.csv),每行(row)有两个值。否则请提及。我有一个不同的解决方案。
谢谢。
Specify the name of columns in the CSV in the load data infile statement.
The code is like this:
Here you go with adding data to only two columns(you can choose them with the name of the column) to the table.
The only thing you have to take care is that you have a CSV file(filename.csv) with two values per line(row). Otherwise please mention. I have a different solution.
Thank you.
只需将 column1、column2 等替换为您的列名称,然后将 @dummy 放在 CSV 中您想要忽略的列的位置即可。
完整详细信息此处。
Just replace the column1, column2, etc.. with your column names, and put @dummy anwhere there's a column in the CSV you want to ignore.
Full details here.
示例:
ae.csv 文件的内容:
对于仅看跌期权第 3 列:
Example:
contents of the ae.csv file:
For put only column 3:
如果数据库表中的列数多于 csv 中的列数,您可以按以下步骤操作:
if you have number of columns in your database table more than number of columns in your csv you can proceed like this:
对于有以下错误的人:
您可以简单地运行此命令来查看哪个文件夹可以加载文件:
之后,您必须复制该文件夹中的文件并使用
LOAD 运行查询DATA LOCAL INFILE
而不是LOAD DATA INFILE
。For those who have the following error:
You can simply run this command to see which folder can load files from:
After that, you have to copy the files in that folder and run the query with
LOAD DATA LOCAL INFILE
instead ofLOAD DATA INFILE
.