Solved

Requesting assistance to export MySQL table to excel csv via the CLI

Posted on 2013-12-26
5
386 Views
Last Modified: 2013-12-26
Hi Team,
   I am trying to do an export of one of my mysql tables to excel compatible csv and it works great from phpmyadmin but I want to script it via the command line.  Most of the table fields are text and may contain commas, and possibly even quotes and single quote,  etc. For some reason the phpmyadmin utility handles this well.  I just hope that the CLI will to it correctly as well.  One of the first stumbling blocks I am encountering now is that I need to include the doublequote character inside the single quote below, but I tried various variations, including escaping the double quote via  '\"' but the command still won't run properly.     That text below
Optionally enclosed by '"'

Open in new window

is what is giving me issues.  How can this be fixed?

mysql -u root -ppassword ChangeTemplate -e "SELECT * INTO OUTFILE 'Changes.xls'  FIELDS TERMINATED BY ','  LINES TERMINATED BY '\n' Optionally enclosed by '"' FROM ChangeTemplate.ChangeRecord;"

Open in new window


Thanks very much.
0
Comment
Question by:rleyba828
  • 3
  • 2
5 Comments
 
LVL 84

Expert Comment

by:ozo
ID: 39740999
mysql -u root -ppassword ChangeTemplate -e "SELECT * INTO OUTFILE 'Changes.xls'  FIELDS TERMINATED BY ','  LINES TERMINATED BY '\n' Optionally enclosed by '"'"'"' FROM ChangeTemplate.ChangeRecord;"
0
 

Author Comment

by:rleyba828
ID: 39741091
Hi Ozo,

  Thanks for your help above.   I literally did a copy and paste of your syntax and pasted it in...but I just got this error:

ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Optionally enclosed by '"' FROM ChangeTemplate.ChangeRecord' at line 1

Open in new window


It seems to be really complaining about the Optionally enclosed by clause since if I remove this clause, then the command works fine.
0
 

Author Comment

by:rleyba828
ID: 39741125
I even tried this....but didn't work too:

mysql -u root -ppassword ChangeTemplate -e 'SELECT * INTO OUTFILE "Changes.xls"  FIELDS TERMINATED BY ","  LINES TERMINATED BY "\n" Optionally enclosed by """ FROM ChangeTemplate.ChangeRecord;'

Open in new window

0
 
LVL 84

Accepted Solution

by:
ozo earned 500 total points
ID: 39741129
Shouldn't the "enclosed by" be part of the FIELDS clause rather than the LINES clause?
0
 

Author Comment

by:rleyba828
ID: 39741209
Hi Ozo,
  You are right.  I rearranged the clauses so it now reads as below, and following your original suggestion, the new command below now works fine:

mysql -u root -ppassword ChangeTemplate -e "SELECT * INTO OUTFILE  'Changes.csv'  FIELDS TERMINATED BY  ','  ENCLOSED by   '"'"'"'  LINES TERMINATED BY  '\n'  FROM ChangeTemplate.ChangeRecord;"

Open in new window


Thanks very much for all your help.
0

Featured Post

Control application downtime with dependency maps

Visualize the interdependencies between application components better with Applications Manager's automated application discovery and dependency mapping feature. Resolve performance issues faster by quickly isolating problematic components.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Setting up Secure Ubuntu server on VMware 1.      Insert the Ubuntu Server distribution CD or attach the ISO of the CD which is in the “Datastore”. Note that it is important to install the x64 edition on servers, not the X86 editions. 2.      Power on th…
It’s 2016. Password authentication should be dead — or at least close to dying. But, unfortunately, it has not traversed Quagga stage yet. Using password authentication is like laundering hotel guest linens with a washboard — it’s Passé.
Connecting to an Amazon Linux EC2 Instance from Windows Using PuTTY.
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.

911 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now