SQL 教程
1. SQL 教程 2. SQL 简介 3. SQL 语法 4. SQL SELECT 语句 5. SQL SELECT DISTINCT 语句 6. SQL WHERE 子句 7. SQL AND & OR 运算符 8. SQL ORDER BY 关键字 9. SQL INSERT INTO 语句 10. SQL UPDATE 语句 11. SQL DELETE 语句 12. SQL SELECT TOP, LIMIT, ROWNUM 13. SQL LIKE 操作符 14. SQL 通配符 15. SQL IN 操作符 16. SQL BETWEEN 操作符 17. SQL 别名 18. SQL 连接(JOIN) 19. SQL INNER JOIN 关键字 20. SQL LEFT JOIN 关键字 21. SQL RIGHT JOIN 关键字 22. SQL FULL OUTER JOIN 关键字 23. SQL UNION 操作符 24. SQL SELECT INTO 语句 25. SQL INSERT INTO SELECT 语句 26. SQL CREATE DATABASE 语句 27. SQL CREATE TABLE 语句 28. SQL 约束 29. SQL NOT NULL 约束 30. SQL UNIQUE 约束 31. SQL PRIMARY KEY 约束 32. SQL FOREIGN KEY 约束 33. SQL CHECK 约束 34. SQL DEFAULT 约束 35. SQL CREATE INDEX 语句 36. SQL 撤销索引、表以及数据库 37. SQL ALTER TABLE 语句 38. SQL AUTO INCREMENT 字段 39. SQL CREATE VIEW、REPLACE VIEW、 DROP VIEW 语句 40. SQL Server 和 MySQL 中的 Date 函数 41. SQL NULL 值 – IS NULL 和 IS NOT NULL 42. SQL ISNULL()、NVL()、IFNULL() 和 COALESCE() 函数 43. SQL 通用数据类型 44. SQL MS Access、MySQL 和 SQL Server 数据类型 45. SQL 函数 46. SQL AVG() 函数 47. SQL COUNT() 函数 48. SQL FIRST() 函数 49. SQL LAST() 函数 50. SQL MAX() 函数 51. SQL MIN() 函数 52. SQL SUM() 函数 53. SQL GROUP BY 语句 54. SQL HAVING 子句 55. SQL UCASE() 函数 56. SQL LCASE() 函数 57. SQL MID() 函数 58. SQL LEN() 函数 59. SQL ROUND() 函数 60. SQL NOW() 函数 61. SQL FORMAT() 函数 62. SQL 快速参考 63. SQL 主机 64. SQL 总结

SQL INSERT INTO SELECT 语句

SQL INSERT INTO SELECT 语句


通过 SQL,您可以从一个表复制信息到另一个表。

INSERT INTO SELECT 语句从一个表复制数据,然后把数据插入到一个已存在的表中。


SQL INSERT INTO SELECT 语句

INSERT INTO SELECT 语句从一个表复制数据,然后把数据插入到一个已存在的表中。目标表中任何已存在的行都不会受影响。

SQL INSERT INTO SELECT 语法

我们可以从一个表中复制所有的列插入到另一个已存在的表中:

INSERT INTO table2
SELECT * FROM table1;

或者我们可以只复制希望的列插入到另一个已存在的表中:

INSERT INTO table2
(column_name(s))
SELECT column_name(s)
FROM table1;


演示数据库

在本教程中,我们将使用 样本数据库。

下面是选自 "Websites" 表的数据:


+----+--------------+---------------------------+-------+---------+

| id | name         | url                       | alexa | country |

+----+--------------+---------------------------+-------+---------+

| 1  | Google       | https://www.google.cm/    | 1     | USA     |

| 2  | 淘宝          | https://www.taobao.com/   | 13    | CN      |

| 3  |       | http://www.55mianshi.com/    | 4689  | CN      |

| 4  | 微博          | http://weibo.com/         | 20    | CN      |

| 5  | Facebook     | https://www.facebook.com/ | 3     | USA     |

| 7  | stackoverflow | http://stackoverflow.com/ |   0 | IND     |

+----+---------------+---------------------------+-------+---------+

下面是 "apps" APP 的数据:


mysql> SELECT * FROM apps;

+----+------------+-------------------------+---------+

| id | app_name   | url                     | country |

+----+------------+-------------------------+---------+

|  1 | QQ APP     | http://im.qq.com/       | CN      |

|  2 | 微博 APP | http://weibo.com/       | CN      |

|  3 | 淘宝 APP | https://www.taobao.com/ | CN      |

+----+------------+-------------------------+---------+

3 rows in set (0.00 sec)



SQL INSERT INTO SELECT 实例

复制 "apps" 中的数据插入到 "Websites" 中:

实例

INSERT INTO Websites (name, country)
SELECT app_name, country FROM apps;

只复 QQ 的 APP 到 "Websites" 中:

实例

INSERT INTO Websites (name, country)
SELECT app_name, country FROM apps
WHERE id=1;