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
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.
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';
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.
Open the Excel file in Numbers iWork 9) and export to CSV. Import in MySQL with 'CSV with LOAD DATA' option works fine.
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!
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.