1

mysql に 2 つのデータベースがあり、database1 の 1 つのテーブルから database2 の 1 つのテーブルにデータを移動したいと考えています。これらのテーブルのスキーマは類似しています。このクエリを使用して、別のテーブルからテーブルにデータを挿入できることを知っています。

Insert Into table1 (select * from table2)

コマンドラインでこれを行うことができます。問題は、これらのテーブルが diffrenet データベースからのものであり、1 つのテーブルからデータを読み取ることを知っていることです。この sql コマンドでそのデータベースを選択する必要があります

use database1;

どうやってやるの?

4

2 に答える 2

5

以下を使用できます。insert Into db1.table1 (select * from db2.table2)

于 2012-10-24T16:24:10.140 に答える
2

必ずしもこの文を使用する必要はありませんuse database1...次のことができます。

insert into database2.table1
select * from database1.table1

シェルを使用する場合は、mysqldump. Linux (またはその他の UNIX または UNIX に似た環境) で作業している場合は、次を使用できます。

mysqldump -h [host] -u [user] -p[password] database1 table1 | mysql -h [host] -u [user] -p[password] database2

table1これにより、 の( にあるdatabase1)の正確なコピーが作成されdatabase2ます。警告: 名前が付けられたテーブルがある場合table1database2コピーを作成する前に削除されます。

これがお役に立てば幸いです

于 2012-10-24T16:24:38.490 に答える