当前位置:   article > 正文

MySQL INSERT INTO SELECT[猿教程]

mysql insert into select

MySQL INSERT INTO SELECT

转载地址 https://yuanjiaoc.com/tutorial/article/10152

在本教程中,您将学习如何使用MySQL INSERT INTO SELECT语句向表中插入数据,其中数据来自SELECT语句的结果。

MySQL INSERT INTO SELECT 概述

在上一篇教程中,您学习了如何使用insert语句和values子句中指定的列值列表将一行或多行插入到表中。

  1. INSERT INTO table_name(c1,c2,...)
  2. VALUES(v1,v2,..);

除了在values子句中使用行值外,还可以使用SELECT语句的结果作为INSERT语句的数据源。

下面举例说明INSERT INTO SELECT语句的语法:

  1. INSERT INTO table_name(column_list)
  2. SELECT
  3. select_list
  4. FROM
  5. another_table
  6. WHERE
  7. condition;

在这种语法中,可以使用SELECT语句而不是VALUES子句。SELECT语句可以从一个或多个表检索数据。

当您想要将其他表中的数据复制到一个表中,或者将多个表中的汇总数据复制到一个表中时,INSERT INTO SELECT语句非常有用。

MySQL INSERT INTO SELECT 示例

首先,创建一个名为suppliers的新表:

  1. CREATE TABLE suppliers (
  2. supplierNumber INT AUTO_INCREMENT,
  3. supplierName VARCHAR(50) NOT NULL,
  4. phone VARCHAR(50),
  5. addressLine1 VARCHAR(50),
  6. addressLine2 VARCHAR(50),
  7. city VARCHAR(50),
  8. state VARCHAR(50),
  9. postalCode VARCHAR(50),
  10. country VARCHAR(50),
  11. customerNumber INT,
  12. PRIMARY KEY (supplierNumber)
  13. );

注意,您将在后续教程中学习如何创建新表。现在,您只需要执行这条语句来创建suppliers表。

假设所有来自美国加州的客户都成为公司的供应商。以下查询查找位于美国加利福尼亚州的所有客户:

  1. SELECT
  2. customerNumber,
  3. customerName,
  4. phone,
  5. addressLine1,
  6. addressLine2,
  7. city,
  8. state,
  9. postalCode,
  10. country
  11. FROM
  12. customers
  13. WHERE
  14. country = 'USA' AND
  15. state = 'CA';

第二,使用INSERT INTO…SELECT语句将位于美国加州的客户从customers表插入到supplier表:

  1. INSERT INTO suppliers (
  2. supplierName,
  3. phone,
  4. addressLine1,
  5. addressLine2,
  6. city,
  7. state,
  8. postalCode,
  9. country,
  10. customerNumber
  11. )
  12. SELECT
  13. customerName,
  14. phone,
  15. addressLine1,
  16. addressLine2,
  17. city,
  18. state ,
  19. postalCode,
  20. country,
  21. customerNumber
  22. FROM
  23. customers
  24. WHERE
  25. country = 'USA' AND
  26. state = 'CA';

它返回以下消息,表明已成功插入 11 行。

11 row(s) affected Records: 11  Duplicates: 0  Warnings: 0

第三,通过从 suppliers 表中查询数据来验证插入:

SELECT * FROM suppliers;

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/410186
推荐阅读
相关标签
  

闽ICP备14008679号