INSERT SELECT
是MySQL中一种将一个查询结果插入到另一个表中的方法。它可以将一个表中的数据复制到另一个表中,同时可以指定要插入的列和数据类型。
下面是INSERT SELECT
的基本语法:
sql复制代码INSERT INTO table_name (column1, column2, ...)SELECT column1, column2, ...FROM another_table_nameWHERE condition;
其中,table_name
是要插入数据的目标表的名称,column1, column2, ...
是要插入数据的列名,another_table_name
是要从中选择数据的源表的名称,condition
是可选的WHERE子句,用于筛选要插入的数据。
例如,假设我们有两个表:employees
和employees_backup
。我们想要将employees
表中的所有记录插入到employees_backup
表中,可以使用以下语句:
sql复制代码INSERT INTO employees_backup (employee_id, first_name, last_name, salary)SELECT employee_id, first_name, last_name, salaryFROM employees;
这将复制employees
表中的所有记录到employees_backup
表中,并插入到指定的列中。请注意,目标表中的列数和数据类型必须与源表中的列数和数据类型匹配。