Saturday, September 10, 2011

Import Excel Data into MySQL in 5 Easy Steps

This is probably nothing new to many, but I spent quite some time to figure it out so I thought I’d post my notes on it.

To import data from Excel (or any other program that can produce a text file) is very simple using the LOAD DATA command from the MySQL Command prompt.

Save your Excel data as a csv file (In Excel 2007 using Save As)

Check the saved file using a text editor such as Notepad to see what it actually looks like, i.e. what delimiter was used etc.

Start the MySQL Command Prompt (I’m lazy so I usually do this from the MySQL Query Browser – Tools – MySQL Command Line Client to avoid having to enter username and password etc.)

Enter this command:
LOAD DATA LOCAL INFILE ‘C:\\temp\\yourfile.csv’
INTO TABLE database.table
FIELDS TERMINATED BY ‘;’
ENCLOSED BY ""
LINES TERMINATED BY ‘\r\n’ (
field1, field2);

done !!

Very quick and simple once you know it

Some notes from my own import – may not apply to you if you run a different language version, MySQL version, Excel version etc…

TERMINATED BY – this is why I included step 2. I thought a csv would default to comma separated but at least in my case semicolon was the default

ENCLOSED BY – my data was not enclosed by anything so I left this as empty string ”

LINES TERMINATED BY – at first I tried with only ‘\n’ but had to add the ‘\r’ to get rid of a carriage return character being imported into the database

Also make sure that if you do not import into the primary key field/column that it has auto increment on, otherwhise only the first row will be imported

No comments:

Post a Comment

Please feel free to contact or comment the article

Search This Blog