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). 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?
问题:
回答1:
are you trying to load csv files into a MySQL table? You can do that easily with the LOAD DATA LOCAL INFILE
command.
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. I'm assuming workbench has a way for you to execute sql queries.
回答2:
Does it have to be Workbench?
Can you use other MySQL bins?
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';
回答3:
For reference, I wanted to do this on Windows and used HeidiSQL to accomplish the task. It was very straightforward, I used Tools -> Import CSV file and it worked on the first try.
回答4:
Or you could use Excel to generate a lot of LOAD DATA INFILE statements using a list of files to load.
Say, you could:
- place the names of files in A column of Excel
place a formula like this in B1 cell:
="LOAD DATA LOCAL INFILE 'path/"&A1&"' INTO TABLE tablename FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n';"
copy & paste B1 cell in B column cells where needed.
So, you would have LOAD DATA statemens in B column of Excel and could just copy&paste them into mysql command line.
Maybe it would not be too convinient to power user of scripting, but could make sense for strong user of MS Excel.
回答5:
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!
回答6:
Open the Excel file in Numbers iWork 9) and export to CSV. Import in MySQL with 'CSV with LOAD DATA' option works fine.