Як імпортувати одну таблицю в базу даних mysql за допомогою командного рядка


141

Я успішно імпортував базу даних за допомогою командного рядка, але тепер моя область болю полягає в тому, як імпортувати єдину таблицю з її даними до існуючої бази даних за допомогою командного рядка.


3
експортувати єдину таблицю та імпортувати
Шакти Сінгх

3
Дивіться також це
повторне

Відповіді:


317

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 ім'я -p ім'я бази даних tableName> path / example.sql
Kazmin

2
Для імпорту вам не потрібно використовувати дамб mysql. mysql -u Ім'я користувача -p Ім'я бази даних tableName <path / example.sql Це повинно робити вашу роботу
Prabhakar Undurthi

8
Ця tableNameназва потрібна не для всіх версій MySQL, і вона створює помилки, тому вам може знадобитися її опустити!
mchar

1
Я отримував синтаксичну помилку, поки не зрозумів, що перебуваю в bash, а не mysql при виконанні.
Крістен

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 та потім імпортувати її.


Також пов'язаний пост Чи можу я відновити одну таблицю з повного файлу mysql mysqldump? вирішує це питання.
codeforester

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 та створить команду 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 СРОБУВАННЯ ТАБЛИЦІ, ЩО Є account_product_prices; 23 / *! 40101 SET @saved_cs_client = @@ character_set_client /; 24 / ! 40101 SET character_set_client = utf8 * /; 25 СТВОРИТИ ТАБЛИЦУ account_product_prices(`
Майкл Де Сільва

5

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

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

DROP TABLE Table_Name;

Потім перейдіть до папки, у якій є .sqlфайл для імпорту, та запустіть наступну команду зі свого терміналу

mysql -u username -p  databasename  < yourtable.sql

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


4

Працює правильно ...

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

зверніть увагу. Файл .sql вказав вашу поточну базу даних.


2

Ми можемо імпортувати одну таблицю за допомогою CMD, як показано нижче:

D:\wamp\bin\mysql\mysql5.5.24\bin>mysql -h hostname -u username -p passowrd databasename < filepath

2

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

 mysql -u username -p  databasename  < yourtable.sql

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
Venkatesh Kakalwar

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 ;


1
mysql -u root -p -D dbname < tablename.sql

1
У той час як цей фрагмент коду вітається, і може забезпечити деяку допомогу, було б значно покращено , якщо вона була придбана пояснення про те , як і те, чому це вирішує проблему. Пам’ятайте, що ви відповідаєте на запитання читачів у майбутньому, а не лише про людину, яка зараз запитує! Будь ласка, відредагуйте свою відповідь, щоб додати пояснення та вказати, які обмеження та припущення застосовуються.
Toby Speight


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 перед виконанням команди.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.