さて、MySQLのテーブルをid列を使用してテーブルに結合できることはわかっています。
ほぼ同一の2つのテーブルを結合する必要がある2つのデータベースがあります。
たとえば、一方のテーブル全体をもう一方のテーブルに挿入するのと同じように、これらの「ダウン」を結合する必要があります。通常のクロスジョインではありません。
MySQLではこれを行うことができますか?
UNION
これを達成するための良い方法です。
SELECT * FROM table1
UNION
SELECT * FROM table2
返される列の数が同じであり、データ型が一致していることを確認してください。
はい、使用できますUNION
-唯一の条件は、両方の選択されたクエリ(両方のテーブル)から同じ量の列を選択することです。
SELECT a, b, c, d FROM table1
UNION
SELECT d, e, f, g FROM table2
一般的な問題は、から結果を注文することです。そのため、UNION
解決策は次のとおりです。
SELECT a AS order_by, b, c, d FROM table1
UNION
SELECT d, e, f AS order_by, g FROM table2
ORDER BY order_by DESC
これを試して :
INSERT INTO database1.table1
SELECT * FROM database2.table2
はい、それは可能です。テーブルの前に完全なデータベース名を使用し、ユーザーが両方のデータベースに対する権限を持っていることを確認してください。
SELECT ...
FROM database1.table t1
JOIN database2.table2 t2 ON t2.column = t1.col