INSERT SELECT FROM
文を実行して、あるテーブルから別のテーブルにデータを挿入できます。
使用上の注意
INSERT INTO SELECT
ステートメントを実行すると、AnalyticDB for MySQLは、SELECTサブクエリから生成された結果と同じ順序でデータを宛先テーブルに書き込むことができることを保証できません。
構文
INSERT INTO table_name
[( column_name [, ...] )]
query;
パラメーター
column_name
: 列の名前。 ソーステーブルからターゲットテーブルに特定の列のデータを挿入する場合、SELECTサブクエリで指定された列は、insert INTOステートメントで指定された列と同じ順序とデータ型を使用する必要があります。query
:SELECT FROM TABLE
やSELECT FROM VIEW
などのSELECTサブクエリ。
例
列名を指定して、customerテーブルからnew_customerテーブルに特定の列のデータを挿入します。
INSERT INTO new_customer (customer_id, customer_name, phone_num) SELECT customer_id, customer_name, phone_num FROM customer WHERE customer.customer_name ='Alan';
列名を指定せずに、customerテーブルのすべての列のデータをnew_customerテーブルに挿入します。
INSERT INTO new_customer SELECT customer_id,customer_name,phone_num,city_name,sex,id_number,home_address,office_address,age,login_time FROM customer WHERE customer.customer_name ='Alan';