通过查询选择降序排列的几行来导出mysql表

dsekswqp  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(467)

我的问题是
我的数据库中有一个表,它有超过一百万行。有时我需要有sql转储我的表在我的电脑和出口整个表花了很长时间。实际上,我需要导出表,例如最后5000行。那么有没有一种方法可以通过选择最后x行来导出mysql表呢。我知道一些通过终端命令实现的方法,但是如果可能的话,我需要糟糕的mysql查询。谢谢

3mpgtkmj

3mpgtkmj1#

如果我理解的好,你可以用 INTO OUTFILE mysql提供的功能。当然,我不知道你目前的问题是什么,但你可以很容易地用你的问题改变我的结构:

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编辑器控制台(这肯定是一个更好的解决方案)运行查询,然后按导出按钮保存它(请参见下图):

作为.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);

相关问题