sql >> データベース >  >> RDS >> Mysql

MySQLは、あるデータベースから別のデータベースに挿入します

    クエリは次のようになります:

    INSERT INTO newDatabase.table1 (Column1, Column2) 
    SELECT column1, column2 FROM oldDatabase.table1;
    

    更新

    この答えは私が予想していたよりも注目を集めているので、私はこの答えを拡張する必要があります。まず、答え自体からは明らかではないかもしれませんが、列は同じ名前である必要はありません。したがって、以下も機能します(列がそれぞれのテーブルに存在すると仮定します):

    INSERT INTO newDatabase.table1 (Column1, Column2) 
    SELECT SomeOtherColumn, MoreColumns FROM oldDatabase.table1;
    

    さらに、テーブル内の実際の列である必要はありません。私がよく使用するデータを変換する例の1つは、次のとおりです。

    INSERT INTO newDatabase.users (name, city, email, username, added_by) 
    SELECT CONCAT(first_name, ' ', last_name), 'Asgard', CONCAT(first_name,'@gmail.com'), CONCAT(first_name,last_name), 'Damir' FROM oldDatabase.old_users;
    

    したがって、今ではもっと明白になるかもしれませんが、SELECTクエリがINSERTクエリに必要な数の列を返す限り、VALUESの代わりに使用できるというルールがあります。



    1. アプリケーションのデータベース接続リークを見つける

    2. Mysql select recursiveは、複数のレベルを持つすべての子を取得します

    3. OracleWHILELOOPの例

    4. QUERYパケットの送信中にエラーが発生しました