Exported CSV from MySQL doesn't appear in specified directory - mysql

I'm trying to figure out the syntax to export the results of a MySQL query to the desktop as a CSV file via SSH. Here's what I'm trying:
SELECT * INTO OUTFILE 'C:\Users\Jim Smith\Desktop\zyzyz.csv'
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '\"'
LINES TERMINATED BY '\r\n'
from <table> limit 5;
The query itself works fine, but the file doesn't appear on the desktop. What should I change to get it to show up?

Try something like this
LINUS Path
SELECT *
FROM tableName
INTO OUTFILE '/tmp/fileName.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
And here is reference link http://www.tech-recipes.com/rx/1475/save-mysql-query-results-into-a-text-or-csv-file/
[EDIT]
Take a look in Task Manager, if any instance of .csv file exists, then delete then try this
WINDOWS Path
SELECT * INTO OUTFILE 'd:\backups\php\export\data.csv'
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '\'
LINES TERMINATED BY 'n'
FROM tableName;

Related

Is there a way to ignore header line when importing csv file for mysql? [duplicate]

I'm trying to Load a CSV file into my MySQL database,
But I would like to skip the first line.
I fact It contains the name of my columns and no interesting data.
Here is the query I'm using:
LOAD DATA LOCAL INFILE '/myfile.csv'
INTO TABLE tableName
FIELDS TERMINATED BY ','
ENCLOSED BY '\"'
LINES TERMINATED BY '\n'
(column,column,column);
LOAD DATA INFILE '/tmp/test.txt' INTO TABLE test IGNORE 1 LINES;
(reference)
For those curious, IGNORE N LINES should be after the separator qualifiers:
LOAD DATA LOCAL INFILE '/myfile.csv'
INTO TABLE tableName
FIELDS TERMINATED BY ','
ENCLOSED BY '\"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(column,column,column);
Try this:
IGNORE N LINES
LOAD DATA INFILE "/path/to/file.csv"
INTO TABLE MYTABLE
COLUMNS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;

MySQL Query CSV to output not a file

I want to make a select to mySQL and return the resulting recordset as CSV but not saving it into a file.
I have this:
SELECT order_id,product_name,qty
FROM orders
WHERE foo = 'bar'
INTO OUTFILE '/var/lib/mysql-files/orders.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';
I have tried to change it into:
SELECT order_id,product_name,qty
FROM orders
WHERE foo = 'bar'
INTO #out
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';
But it doesn't work.
The use case is to give users the option to download CSV files from data driven web site. To do so I need to output the CSV file/data to the browser.
How to do?
You can not directly and you need to import data first in a table.Mysql command for this https://dev.mysql.com/doc/refman/8.0/en/load-data.html

Decode data from MySQL

I have a database A(using MySQL) inside that there is table T. I have exported the table T using
SELECT * FROM T INTO OUTFILE '/root/table.csv FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n';
Fields of table.csv file have data AVi2B8uZGDdZ9omPqEGS which is not readable. I want to know how to decode the data AVi2B8uZGDdZ9omPqEGS

how to Export data from csv file into mysql database?

how to Export data from csv file into mysql database?
is there any Query or some othr way avial?
I think you mean IMPORT., here's how:
load data local infile 'yourCSVfilepath.csv' into table tableNameHERE
fields terminated by ','
optionally enclosed by '"'
lines terminated by '\r\n'
To Export data to csv from Mysql use this
SELECT *
INTO OUTFILE '/tmp/tablename.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\n'
FROM tablename
To import csv to Mysql use this
LOAD DATA INFILE 'c:/tablename.csv' INTO TABLE tablename

How to output to csv file using mysql?

This is a sample table of my original table USER_DETAILS, i want to export the user_id and user_phone fields to a csv file for further implementation in my project.
user_id user_phone
1 9977660050
2 9977660051
3 9977660042
4 9977660080
P.S.: Please answer me the query for this, instead of giving abrupt answers and suggestions. i guess the table is quite clear to understand.
If you don't really need this to be in PHP, just run:
SELECT user_id, user_phone INTO OUTFILE '/your/filepath'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM user_details;
Obviously, replace '/your/filepath' with the path to the file you want to save to.
Not sure if you want to do this in PHP or just output it to a CSV file. Here's how to do the latter:
SELECT user_id, user_phone
FROM user_details
INTO OUTFILE '/tmp/user_details.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
SELECT 'User','User Phone'
UNION
SELECT user_id,user_phone INTO OUTFILE 'users.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
FROM USER_DETAILS;