Экспортируйте таблицу MySql по запросу, выбирая несколько строк в порядке убывания

0

моя проблема в этом
У меня есть таблица в моей базе данных, которая содержит более 1 миллиона строк. Иногда мне нужно иметь sql-дамп моей таблицы на моем ПК и экспортировать целую таблицу очень долго. На самом деле мне нужно экспортировать таблицу, например, с последними 5000 строк. Итак, есть способ экспортировать таблицу MySql, выбрав последние X строк. Я знаю несколько способов сделать это с помощью команд терминала, но мне нужен бедный MySql-запрос, если это возможно. Спасибо

Теги:

1 ответ

0
Лучший ответ

Если я хорошо понимаю, вы можете попробовать, используя функциональность 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 editor console и сохранить его, нажав кнопку экспорта (см. Рисунок ниже):

Изображение 174551

Как результат выходного файла.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);
  • 0
    спасибо Джулио, но есть ли способ экспортировать как файл .sql, это то, что я ищу
  • 0
    @HaykAbrahamyan Я обновил свой ответ с совершенно другим подходом. Поскольку, как я вижу, не существует реального способа экспорта файла .sql без использования mysqldump из командной строки. В качестве альтернативы вы можете подумать о создании оператора INSERT INTO в другой новой пустой таблице внутри вашей текущей или в новой схеме базы данных (то есть без сохранения данных дампа во внешнем файле).
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню