Подтвердить что ты не робот

Как использовать mysqldump для части таблицы?

Поэтому я могу экспортировать только таблицу, подобную этой:

mysqldump -u root -p db_name table_name > table_name.sql

Есть ли способ экспортировать только часть таблицы с mysqldump? Например, 0-1000000 строк, 1 000 000 - 2 000 000 строк и т.д.

Должен ли я сделать это с помощью mysqldump или запроса?

4b9b3361

Ответ 1

mysqldump -uroot -p db_name table_name --where='id<1000000'

или вы можете использовать

SELECT * INTO OUTFILE 'data_path.sql' from table where id<100000

Ответ 2

mysqldump --skip-triggers --compact --no-create-info --user=USER --password=PASSWORD -B DATABASE --tables MY_TABLE --where='SOME_COLUMN>=xxxx' > out.sql

Ответ 3

Сбрасываемый файл отличается от файла, который вы используете для выбора SQL. Для второго подхода вы не можете просто использовать: mysql database < Таблица чтобы выгрузить таблицу в базу данных.

Ответ 4

В моем случае я выполняю это:

SELECT * 
  INTO OUTFILE 'C:\Documents and Settings\Anton.Zarkov\Desktop\joomla_export\data_AZ.sql'
  FROM `jos_glossary`
 WHERE id>6000
  • нет синтаксической ошибки - запрос проходит.
    • Результат NULL - строки не были написаны. (Я уверен - последний идентификатор 6458).
    • Если я повторю запрос a n error occurs => #1086 - File 'C:Documents and SettingsAnton.ZarkovDesktopjoomla_exportdata_AZ.sql' already exists
    • К сожалению, я не могу найти "существующий" файл в любом месте на диске C. Где он?

Условия: phpMyAdmin SQL Dump; версия 3.4.5; host: localhost; версия сервера: 5.5.16; Версия PHP: 5.3.8

Ответ 5

mysqldump -uroot -p db_name table_name --where'id<1000000' > yourdumpname.sql

Ответ 6

Ниже запрос для выбора из диапазона идентификаторов вы можете использовать date_created или любой вместо идентификатора

mysqldump --opt --host=dns --user=user_name --password db_name --tables table_name  --where "id > 1 and id < 100 " > /file_name.sql

например: --where="date_created > '2019-01-18' " → insted of id