php - 通过查询导出 MySql 表,选择几行按降序排列

标签 php mysql sql

我的问题是这个
我的数据库中有超过 100 万行的表。有时我需要在我的电脑上转储我的表的 SQL 并导出整个表,这需要很长时间。 实际上我需要导出的表,例如最后 5000 行。 那么有没有办法通过选择最后 X 行来导出 MySql 表。 我知道一些通过终端命令来做到这一点的方法,但如果可能的话,我需要糟糕的 MySql 查询。 谢谢

最佳答案

如果我理解得好的话,你可以尝试使用MySQL提供的INTO OUTFILE功能。当然,我不知道您当前的查询是什么,但您可以轻松地用您的查询更改我的结构:

SELECT * 
FROM table_name
INTO OUTFILE '/tmp/your_dump_table.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
ORDER BY id DESC
LIMIT 5000

由于用户 @Hayk Abrahamyan 表示倾向于将转储导出为 .sql 文件,让我们尝试分析一个有效的替代方案:

  • 我们可以从 phpmyadmin 或(这肯定是更好的解决方案)MysqlWorkbench SQL 编辑器控制台运行查询,然后按导出按钮保存它(参见下图) ):

export

作为 .sql 输出文件结果,您将得到类似于以下结构的内容:

/*
-- Query: SELECT * FROM mytodo.todos
ORDER BY id DESC
LIMIT 5000
-- Date: 2018-01-07 13:15
*/
INSERT INTO `todos` (`id`,`description`,`completed`) VALUES (3,'Eat something',1);
INSERT INTO `todos` (`id`,`description`,`completed`) VALUES (2,'Buy something',1);
INSERT INTO `todos` (`id`,`description`,`completed`) VALUES (1,'Go to the store',0);

关于php - 通过查询导出 MySql 表,选择几行按降序排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48136226/

相关文章:

PHP - 字符串逻辑解析 - "X AND Y OR Z"

mySQL 表连接 - 错误答案

mysql - 如何减少mysql查询执行时间

php - Angular : How to merge two or more scope into single scope

php - 如何使用php比较mysql中的浮点值

mysql - 为什么 join 语句会出现这个错误 1066

php - 通过 Web 界面向 PHP 脚本公开 MySQL?

php - SQL - 分隔到特定范围

mysql - 仅当这些值不在表中时才插入到 mysql 表中

php - YouTube链接到iframe?