我需要从mysql数据库中提取一些数据。我需要将其解压缩到csv文件。 我只需要db中的某些数据。我可以使用mysqldump吗?
我需要从定制的后端执行此操作。创建一个按钮,当单击该按钮时,它应该从csv文件中的数据库中提取某些数据。
答案 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