简体   繁体   English

将CSV文件加载到MySQL Workbench中

[英]Loading CSV files into MySQL Workbench

I have a lot of excel/ CSV files that I need to load into my db in MySQL Workbench (I'm on Mac OS X). 我有很多excel / CSV文件,我需要在MySQL Workbench中加载到我的数据库中(我在Mac OS X上)。 I've searched around for a good walk-through or tutorial, but I haven't seen anything that clearly explains how to load CSVs into MySQL Workbench....can anyone help? 我一直在寻找一个很好的演练或教程,但我还没有看到任何清楚地解释如何将CSV加载到MySQL Workbench的内容....任何人都可以帮忙吗?

are you trying to load csv files into a MySQL table? 你试图将csv文件加载到MySQL表中吗? You can do that easily with the LOAD DATA LOCAL INFILE command. 您可以使用LOAD DATA LOCAL INFILE命令轻松完成此操作。

Example: 例:

LOAD DATA LOCAL INFILE '/data.csv' INTO TABLE my_table FIELDS TERMINATED BY ','

You should be able to enter that command from any interface to MySQL. 您应该能够从MySQL的任何接口输入该命令。 I'm assuming workbench has a way for you to execute sql queries. 我假设workbench有一种方法可以执行sql查询。

For reference, I wanted to do this on Windows and used HeidiSQL to accomplish the task. 作为参考,我想在Windows上执行此操作并使用HeidiSQL来完成任务。 It was very straightforward, I used Tools -> Import CSV file and it worked on the first try. 这非常简单,我使用工具 - >导入CSV文件,它在第一次尝试时工作。

Does it have to be Workbench? 它必须是Workbench吗?

Can you use other MySQL bins? 你可以使用其他MySQL垃圾箱吗?

Here's an example: Create database 这是一个例子:创建数据库

Create table 创建表格

load data local infile '/path/whatever.csv' into table dbName.tableName fields terminated by ',' enclosed by '"' lines terminated by '\\n';

Or you could use Excel to generate a lot of LOAD DATA INFILE statements using a list of files to load. 或者您可以使用Excel生成大量LOAD DATA INFILE语句,使用要加载的文件列表。

Say, you could: 说,你可以:

  1. place the names of files in A column of Excel 将文件名放在Excel的A列中
  2. place a formula like this in B1 cell: 在B1单元格中放置这样的公式:

    ="LOAD DATA LOCAL INFILE 'path/"&A1&"' INTO TABLE tablename FIELDS TERMINATED BY ',' LINES TERMINATED BY '\\r\\n';" =“LOAD DATA LOCAL INFILE”path /“&A1&”'INTO TABLE tablename FIELDS TERMINATED BY','LINES TEDINATED''\\ r \\ n';“

  3. copy & paste B1 cell in B column cells where needed. 在需要的B列单元格中复制和粘贴B1单元格。

So, you would have LOAD DATA statemens in B column of Excel and could just copy&paste them into mysql command line. 因此,您将在Excel的B列中具有LOAD DATA statemens,并且可以将它们复制并粘贴到mysql命令行中。

Maybe it would not be too convinient to power user of scripting, but could make sense for strong user of MS Excel. 也许它不会太方便为脚本用户提供支持,但对于MS Excel的强大用户来说可能是有意义的。

This was convoluted for me, but here is what I did: 这对我来说很复杂,但这就是我所做的:

I had PHPmyAdmin installed, so I exported to CSV w/ , seperated and " as escape character. PHPmyAdmin couldn't handle the " as escape, so I find/replaced all instances of "" with \\" and it worked. Suerte! 我有phpMyAdmin安装,所以我出口到CSV W / ,分隔和"作为转义字符。PHPMYADMIN玩不转"作为逃生,所以我觉得/替换的所有实例""\\"和它的工作。Suerte!

Open the Excel file in Numbers iWork 9) and export to CSV. 在Numbers iWork 9中打开Excel文件并导出为CSV。 Import in MySQL with 'CSV with LOAD DATA' option works fine. 使用'带有LOAD DATA的CSV'选项在MySQL中导入工作正常。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM