Как импортировать одну таблицу в базу данных mysql с помощью командной строки

145

Я успешно импортировал базу данных с помощью командной строки, но теперь моя проблема заключается в том, как импортировать одну таблицу с ее данными в существующую базу данных с помощью командной строки.

тисмон
источник
3
экспорт только одной таблицы и импорт
Шакти Сингх
3
См. Также этот повторяющийся вопрос: stackoverflow.com/q/1013852/385571 с его более релевантными ответами
MattBianco

Ответы:

324

Linux:

В командной строке

 mysql -u username -p  databasename  < path/example.sql

поместите свою таблицу в example.sql

Импорт / экспорт для одной таблицы:

  1. Схема экспорта таблицы

    mysqldump -u username -p databasename tableName > path/example.sql
    

    Это создаст файл с именем example.sqlпо указанному пути и напишет команду create tablesql для создания таблицы tableName.

  2. Импортировать данные в таблицу

    mysql -u username -p databasename < path/example.sql
    

    Для этой команды требуется файл sql, содержащий данные в виде insertоператоров для таблицы tableName. Все insertоператоры будут выполнены, и данные будут загружены.

сушить
источник
2
-u был пропущен;) mysqldump -u username -p databasename tableName> path / example.sql
Kazmin
2
Для импорта не нужно использовать дамп mysql. mysql -u username -p databasename tableName <path / example.sql Он должен делать вашу работу
Прабхакар Ундурти
8
tableNameИмя не требуется для всех версий MySQL и выдает ошибки, поэтому вам может понадобиться , чтобы пропустить его!
mchar
1
Я получал синтаксическую ошибку, пока не понял, что выполняю ее в bash, а не в mysql.
Christia
2
Это сработает, только если у меня есть доступ к базе данных, из которой я могу экспортировать определенную таблицу. Однако, если у меня есть полный дамп базы данных, и я хочу выбрать таблицу (таблицы) для импорта, это решение не сработает. Связанный пост Могу ли я восстановить одну таблицу из полного файла mysql mysqldump? решает эту проблему.
codeforester
34

Экспорт:

mysqldump --user=root databasename > whole.database.sql
mysqldump --user=root databasename onlySingleTableName > single.table.sql

Импорт :

Вся база данных :

mysql --user=root wholedatabase < whole.database.sql

Единый стол :

mysql --user=root databasename < single.table.sql

источник
23

Все эти параметры подходят, если у вас есть возможность повторно экспортировать данные.

Но если вам нужно использовать существующий файл SQL и использовать из него определенную таблицу, тогда этот сценарий perl в блоге TimeSheet позволит вам извлечь таблицу в отдельный файл SQL, а затем импортировать его.

Исходная ссылка мертва, поэтому хорошо, что кто-то разместил ее вместо автора, Джареда Чейни, на GitHub в этой ссылке .

бизнес
источник
Кроме того, связанный пост Могу ли я восстановить одну таблицу из полного файла mysql mysqldump? решает эту проблему.
codeforester
1
Ссылка не работает и ее нет на archive.org. Не могли бы вы предоставить обновленную ссылку?
Пабло Бьянки
12

Импорт единой таблицы

Чтобы импортировать одну таблицу в существующую базу данных, вы должны использовать следующую команду:

mysql -u username -p -D database_name < tableName.sql

Примечание. Лучше использовать полный путь к sql-файлу tableName.sql.

Танмай Патель
источник
5

Командная строка

Импорт / экспорт для одной таблицы:

Экспорт схемы таблицы

 -> mysqldump -u your_user_name -p your_database_name table_name > test.sql

Это создаст файл с именем test.sql и создаст команду table sql для создания таблицы table_name.

Импорт данных в таблицу

 -> mysql -u your_user_name -p database_name table_name < test.sql

Убедитесь, что ваш файл test.sql находится в том же каталоге, если нет, перейдите по пути и запустите команду.

Прабхакар Ундурти
источник
3
Вам не нужно указывать имя таблицы в командной строке, так как в экспортированном файле SQL есть соответствующий вызов для создания таблицы. Все, что вам нужно, это mysql -u your_user_name -p database_name < test.sql.
Майкл Де Сильва,
1
Вот пример из экспортированной таблицы: `22 DROP TABLE IF EXISTS account_product_prices; 23 / *! 40101 SET @saved_cs_client = @@ character_set_client /; 24 / ! 40101 SET character_set_client = utf8 * /; 25 СОЗДАТЬ ТАБЛИЦУ account_product_prices(`
Майкл Де Сильва,
4

Работает корректно ...

C:\>mysql>bin>mysql -u USERNAME DB_NAME < tableNameFile.sql

обратите внимание, что файл .sql определяет вашу текущую базу данных.

Ранджит
источник
4

Прежде всего, войдите в свою базу данных и проверьте, недоступна ли таблица базы данных, которую вы хотите импортировать, в вашей базе данных.

Если он доступен, удалите таблицу с помощью команды. В противном случае при импорте таблицы будет выдана ошибка.

DROP TABLE Table_Name;

Затем перейдите в папку, в которой у вас есть .sqlфайл для импорта, и выполните следующую команду с вашего терминала

mysql -u username -p  databasename  < yourtable.sql

Терминал попросит вас ввести пароль. Введите его и проверьте базу данных.

Варун П.В.
источник
2

Мы можем импортировать одну таблицу с помощью CMD, как показано ниже:

D:\wamp\bin\mysql\mysql5.5.24\bin>mysql -h hostname -u username -p passowrd databasename < filepath
Digisha
источник
2

если у вас уже есть нужная таблица в вашей базе данных, сначала удалите ее, а затем выполните команду ниже:

 mysql -u username -p  databasename  < yourtable.sql
Jsina
источник
2

С сервера на локальный (экспорт)

mysqldump -u username -p db_name table_name > path/filename.sql;
mysqldump -u root -p remotelab welcome_ulink > 
/home_local/ladmin/kakalwar/base/welcome_ulink.sql;

С локального на сервер (импорт)

mysql -u username -p -D databasename < path/x/y/z/welcome_queue.sql
mysql -u root -p -D remotelab < 
/home_local/ladmin/kakalwar/instant_status/db_04_12/welcome_queue.sql
Венкатеш Какалвар
источник
2
Для новичков, обратите внимание, вы должны работать с терминала, а не внутри mysql, после нажатия команды он запросит пароль db_password
Венкатеш Какалвар
2

Также его работа. В командной форме

cd C:\wamp\bin\mysql\mysql5.5.8\bin //hit enter
mysql -u -p databasename //-u=root,-p=blank
Деньги
источник
2
  • Это будет комбинация EXPORT INTO OUTFILEиLOAD DATA INFILE

  • Вам нужно экспортировать эту единственную таблицу с помощью EXPORT INTO OUTFILE, это приведет к экспорту данных таблицы в файл. Вы можете импортировать эту конкретную таблицу, используяLOAD DATA INFILE

  • Обратитесь к doc1 , doc2

Шамит Верма
источник
1

вы можете сделать это в команде mysql вместо команды linux.
1. войдите в свой mysql.
2. выполните команду mysql:
use DATABASE_NAME;
SET autocommit=0 ; source ABSOLUTE_PATH/TABLE_SQL_FILE.sql ; COMMIT ;

GeekLei
источник
1
mysql -u root -p -D dbname < tablename.sql
Нидс Бартвал
источник
1
Хотя этот фрагмент кода приветствуется и может оказать некоторую помощь, его можно было бы значительно улучшить, если бы он включал объяснение того, как и почему это решает проблему. Помните, что вы отвечаете на вопрос будущих читателей, а не только человеку, который задает его сейчас! Пожалуйста , измените свой ответ , чтобы добавить объяснение, и дать указание о том , что применять ограничения и допущения.
Тоби Спейт
1

Если вы находитесь в pwd дампа SQL и вам нужна таблица из него, сделайте следующее:

sed -n '/-- Table structure for table `'TableNameTo_GrabHere'`/,/-- Table/{ /^--.*$/d;p }' dump_file_to_extract_from.sql > table_name_here.sql

Затем просто импортируйте таблицу, которую вы извлекли из приведенного выше, в необходимую базу данных.

Сержант. Стадинко
источник
0
-> mysql -h host -u user -p database_name table_name < test_table.sql
Кеша Вивеки
источник
0

Использование временной базы данных может быть решением в зависимости от размера базы данных.

mysql -u [username] -p -e "create database tempdb"
mysql -u [username] -p tempdb < db.sql
mysqldump -u [username] -p tempdb _table_to_import_ > table_to_import.sql
mysql -u [username] -p maindb < table_to_import.sql
ноэго
источник
0

Чтобы импортировать таблицу в базу данных, если таблица уже существует, добавьте эту строку в свой файл sql DROP TABLE IF EXIST 'table_name'и запустите команду mysql -u username -p database_name < import_sql_file.sql. Перед выполнением команды проверьте путь к файлу sql.

Виджай
источник