我在mysql中有一个表,它有超过10万行,我想把它导出到excel。但是,我尝试在phpmyadmin上导出到excel函数,但转储excel文件需要永远。它甚至没有倾销。错误始终是“重置连接”。有没有另外一种方法可以做到这一点??
答案 0 :(得分:5)
首先,Excel中的100k行听起来像一个可怕的想法,当然它需要一段时间。这需要一段时间才能打开。如果你必须尝试这样做:
SELECT order_id,product_name,qty
FROM orders
INTO OUTFILE '/tmp/orders.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
这应该会为您提供一个名为/tmp/orders.csv
的文件,该文件将在Excel中打开。
答案 1 :(得分:0)
导出缓慢可能是由运行phpmyadmin的服务器造成的。我经常以惊人的速度出口数百万行。
如果您可以访问数据库服务器的文件系统,这是一种非常快速的转换为.csv的方式,而后者又可以通过Excel打开。
SELECT order_id,product_name,qty
FROM orders
INTO OUTFILE '/tmp/orders.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
请参阅:http://www.tech-recipes.com/rx/1475/save-mysql-query-results-into-a-text-or-csv-file/
答案 2 :(得分:0)
之前我使用OUTFILE
方法执行此操作:
SELECT
'First Name',
'Last Name',
'Email Address'
UNION
SELECT
First_Name,
Last_Name,
Email
INTO OUTFILE
'/tmp/data_2012-05-03.csv'
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
FROM
`data`
WHERE
Reg_Date >= '2012-05-02 00:00:00' AND
Reg_Date <= '2012-05-02 23:59:59' AND
Email_Status = 1;