コマンドラインを使用して単一のテーブルをmysqlデータベースにインポートする方法


141

コマンドラインを使用してデータベースを正常にインポートしましたが、ここで問題となるのは、コマンドラインを使用して、データを含む単一のテーブルを既存のデータベースにインポートする方法です。


3
単一のテーブルのみをエクスポートしてインポート
Shakti Singh

3
また、この重複した質問を参照してください:stackoverflow.com/q/1013852/385571をそのより適切な答えを
マット・ビアンコ

回答:


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

    このコマンドには、insertテーブルのステートメントの形式でデータを含むsqlファイルが必要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それはあなたの仕事をするはずです
Prabhakar Undurthi

8
このtableName名前はすべてのMySQLバージョンに必要なわけではなく、エラーが発生するため、省略しなければならない場合があります。
mchar

1
実行時にmysqlではなくbashであることがわかるまで、構文エラーが発生していました。
クリスティ

2
これは、特定のテーブルをエクスポートできるデータベースにアクセスできる場合にのみ機能します。ただし、データベースの完全なダンプがあり、インポートするテーブルを選択する場合、このソリューションは機能しません。リンクされた投稿完全なmysql mysqldumpファイルから単一のテーブルを復元できますか?その問題に対処します。
codeforester 2018年

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ファイルを使用し、そこから特定のテーブルを使用する必要がある場合は、TimeSheetブログのこのperlスクリプトを使用して、テーブルを個別のSQLファイルに抽出してからインポートできます。



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_nameを作成するtable sqlコマンドが作成されます。

テーブルへのデータのインポート

 -> 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
Michael De Silva

1
以下は、エクスポートされたテーブルの例account_product_pricesです。`22 DROP TABLE IF EXISTS ; 23 / *!40101 SET @saved_cs_client = @@ character_set_client /; 24 /!40101 SET character_set_client = utf8 * /; 25 CREATE TABLE 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を入力した後、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

  • doc1doc2を参照


1

linuxコマンドの代わりにmysqlコマンドでそれを行うことができます。
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 2017年


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'commandを実行しますmysql -u username -p database_name < import_sql_file.sql。コマンドを実行する前に、sqlファイルのパスを確認してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.