如果用户数据在其他表中已经存在,AnalyticDB MySQL 2.0支持通过查询方式实现数据复制。

语法

INSERT INTO table_name 
[( column_name [, …] )]
query;

参数

column_name:列名,如果只需要从源表插入数据到目标表的部分列,确保SELECT子句查询的列与INSERT子句提供的列相匹配(顺序、数据类型)。

示例

  • 提供列名的方式,从ORDER表中复制某几列数据到新订购表NEW_ORDER中。
      INSERT INTO new_order (customer_id, order_id, order_time, order_amount, order_type, address, city, order_season)
      SELECT customer_id, order_id, order_time, order_amount,order_type, address, city, order_season FROM order
      WHERE order.order_season = '201804';
  • 不提供列名的方式,从ORDER表中复制所有列数据到新订购表NEW_ORDER中。
      INSERT INTO new_order
      SELECT customer_id, order_id, order_time, order_amount, order_type, address, city, order_season  FROM order
      WHERE order.order_season = '201807';