Экспорт одной таблицы базы данных или mysqldump одной таблицы (MySQL)

Как экспортировать одну таблицу из базы данных MySQL, используя mysqldump

Например, Вам нужно произвести экспорт всего одной таблицы из всей базы данных MySQL, существует довольно простая утилита mysqldump. Синтаксис довольно прост:

mysqldump --user=[имя пользователя] --host=[имя хоста или ip-адрес] --password=[пароль] [имя базы данных] [имя таблицы]> имя-файла.sql

Например:

mysqldump --user-root --host=127.0.0.1 --pasword=mypassword mydbname table1 > report1.sql

Вот и все, все оказалось просто. Весь дамп текущей таблицы, будет находиться в файле: report1.sql

Экспорт структуры таблицы MySQL

Если Вам нужно экспортировать только структуру таблицы базы данных, а сами данные не нужны, то нужно просто добавить флаг --no-data. Вот пример:

mysqldump --user-root --host=127.0.0.1 --pasword=mypassword --no-data mydbname table1 > report2.sql

Теперь в файле report2.sql будет только структура таблицы table1.

Экспорт нескольких таблиц базы данных MySQL

Например, Вам нужно экспортировать определенные таблицы базы данных, то для этого нужно всего лишь перечислить названия этих таблиц через пробел. Например:

mysqldump --user-root --host=127.0.0.1 --pasword=mypassword mydbname table1 table2 table3> report3.sql

Таким образом, в файле report3.sql у вас будет дамп таблиц table1, table2 и table3 базы данных mydbname. Я думаю тут все предельно просто. Опять же, не забываем, если Вы хотите получить только структуру таблиц, то нужно добавить флаг --no-data.

Экспорт таблицы базы данных MySQL с определенным условием или ограничением на количество записей

Для того, чтобы получить лишь определенные строки из таблицы при экспорте данных, нужно добавить флаг --where, в котором нужно указать само условие. Пример:

mysqldump --user-root --host=127.0.0.1 --pasword=mypassword --where="`id`>100 ORDER BY `date` LIMIT 30" mydbname table1 > report4.sql

В данном случае в файл report4.sql будет экспортировано 30 отсортированных по дате строк из таблицы table1, у которых id больше 100. Тут, я надеюсь, все понятно.

Примечание:
Статья подразумевает, что пользователь ознакомлен с основами работы в ОС Linux и имеет опыт работы с СУБД MySQL.

mysql, linux, mysqldump


Комментарии

Популярные сообщения из этого блога

Как преобразовать строку в массив в ClickHouse / How to transform string to array in ClickHouse

Как разложить массив на несколько строк в ClickHouse