INTO SELECT

简介: 【11月更文挑战第10天】

INSERT INTO SELECT 是 SQL 中的一个语句,它允许你从一个表中选择数据并将这些数据插入到另一个表中。这个操作不会影响目标表中已存在的数据,它只是添加新的数据行。

SQL INSERT INTO SELECT 语法

INSERT INTO 目标表名 (1,2, ...)
SELECT1,2, ...
FROM 源表名
WHERE 条件;
  • 目标表名 是你想要插入数据的表。
  • 列1, 列2, ... 是你想要插入的具体列名。
  • 源表名 是包含你想要复制数据的表。
  • WHERE 条件 是用来指定从源表中选择哪些数据的条件(可选)。

使用说明

  1. 列对应:在使用 INSERT INTO SELECT 时,源表中的列数量和类型必须与目标表中的列数量和类型相匹配。
  2. 列选择:你可以在 SELECT 语句中指定列,也可以使用 * 来选择所有列,但要注意列的顺序和类型必须与目标表相匹配。
  3. 条件过滤:通过 WHERE 子句,你可以指定条件来选择特定的数据行。

代码示例

假设我们有两个表:employeesarchived_employees

employees 表:

+----+----------+
| id | name     |
+----+----------+
| 1  | John     |
| 2  | Jane     |
| 3  | Mike     |
+----+----------+

archived_employees 表:

+----+----------+
| id | name     |
+----+----------+
| 4  | Alice    |
| 5  | Bob      |
+----+----------+

现在,我们想要将 employees 表中的数据复制到 archived_employees 表中。

INSERT INTO archived_employees (id, name)
SELECT id, name
FROM employees;

这条语句将 employees 表中的所有数据复制到 archived_employees 表中。如果 archived_employees 表中已经有数据,那么这些数据将不会被覆盖或删除,新数据将被添加到表的末尾。

如果 archived_employees 表的 id 列是自增的,你可能不希望复制 id 列,而是让数据库自动生成新的 id。在这种情况下,你可以省略 id 列,只复制 name 列:

INSERT INTO archived_employees (name)
SELECT name
FROM employees;
目录
相关文章
|
10月前
|
XML JSON Java
HttpServletRequest 的三个方法request.getParameter()、request.getInputStream()、request.getReader()
在 Java Web 开发中,HttpServletRequest 是处理 HTTP 请求的接口,提供了多种方法用于获取客户端请求的不同类型的数据。三种常见的方法是 getParameter()、getInputStream() 和 getReader()。它们各自的作用和使用场景有所不同,下面详细解释这三个方法的区别与应用。
1110 4
|
SQL 数据库
SQL INSERT INTO SELECT 语句
SQL INSERT INTO SELECT 语句
2991 8
|
存储 关系型数据库 MySQL
在 MySQL 中使用 Insert Into Select
【8月更文挑战第11天】
7687 0
在 MySQL 中使用 Insert Into Select
|
XML Java API
List与String相互转化方法汇总
本文汇总了List与String相互转化的多种方法,包括使用`String.join()`、`StringBuilder`、Java 8的Stream API、Apache Commons Lang3的`StringUtils.join()`以及Guava的`Joiner.on()`方法实现List转String;同时介绍了使用`split()`方法、正则表达式、Apache Commons Lang3的`StringUtils.split()`及Guava的`Splitter.on()`方法实现String转List。
2681 1
List与String相互转化方法汇总
|
存储 关系型数据库 数据库
在 Postgres 中使用 Insert Into Select
【8月更文挑战第11天】
1544 0
在 Postgres 中使用 Insert Into Select
|
算法 Java
java生成一个随机的身份证号
【10月更文挑战第5天】java生成一个随机的身份证号
1459 1
|
SQL 数据库
SQL INSERT INTO SELECT 语句
SQL INSERT INTO SELECT 语句
1517 3
|
NoSQL Java MongoDB
使用Spring Boot构建响应式应用
使用Spring Boot构建响应式应用
SpringCloud启动Consider defining a bean of type ‘org.springframework.web.client.RestTemplate‘ in your
SpringCloud启动Consider defining a bean of type ‘org.springframework.web.client.RestTemplate‘ in your
526 1
|
Java API Spring
Spring Boot中如何实现邮件发送功能
Spring Boot中如何实现邮件发送功能

热门文章

最新文章