如何从mysql中提取数据到csv文件?

时间:2013-10-24 05:45:01

标签: mysql

我需要从mysql数据库中提取一些数据。我需要将其解压缩到csv文件。 我只需要db中的某些数据。我可以使用mysqldump吗?

我需要从定制的后端执行此操作。创建一个按钮,当单击该按钮时,它应该从csv文件中的数据库中提取某些数据。

4 个答案:

答案 0 :(得分:3)

您可以使用mysql dump或query将数据提取到csv文件

SELECT *
INTO OUTFILE '/tmp/products.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\n'
FROM products

请注意,mysql是用户编写/`tmp/products.csv'。使用此文件时,您需要将其复制到您自己的工作目录中,以便该文件获取您的权限。

根据您的MySQL版本,如果没有先删除文件,您可能无法再次运行此命令。原因是您可能会收到错误消息,指出该文件已存在。因此,在第二次运行命令之前,您可能必须成为root用户才能从'/ tmp'中删除文件。

答案 1 :(得分:1)

您可以使用:

* mysqldump –tab=/path/for/export

或尝试使用:

* mysql -h remote_host -e “SELECT * FROM my_schema.my_table” –batch –silent > my_file.csv

希望这有帮助!

来源:http://blogs.devart.com/dbforge/export-mysql-table-to-csv-file-methods-overview.html

答案 2 :(得分:0)

或者使用phpMyadmin将数据导出为CSV

答案 3 :(得分:0)

此解决方案适用于非root用户。从远程数据库服务器上的表中提取数据:

$ mysql -u user_name -p -e "use database_name; SELECT * FROM table_name" -B | sed "s/'/\'/;s/\t/\",\"/g;s/^/\"/;s/$/\"/;s/\n//g" > file_name.csv

从服务器检索文件:

$ scp user_name@server_address:file_name.csv file_name.csv