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;
目录
相关文章
|
XML JSON Java
HttpServletRequest 的三个方法request.getParameter()、request.getInputStream()、request.getReader()
在 Java Web 开发中,HttpServletRequest 是处理 HTTP 请求的接口,提供了多种方法用于获取客户端请求的不同类型的数据。三种常见的方法是 getParameter()、getInputStream() 和 getReader()。它们各自的作用和使用场景有所不同,下面详细解释这三个方法的区别与应用。
1248 4
|
SQL 数据库
SQL INSERT INTO SELECT 语句
SQL INSERT INTO SELECT 语句
3073 8
|
存储 关系型数据库 MySQL
在 MySQL 中使用 Insert Into Select
【8月更文挑战第11天】
8075 0
在 MySQL 中使用 Insert Into Select
|
自然语言处理 开发工具 git
图解Git——变基《Pro Git》
变基(rebase)是Git中用于将一系列提交“重新播放”到另一个分支上的操作,使提交历史更加线性整洁。其基本操作为`git rebase <目标分支>`,可将当前分支的修改基于目标分支重新应用;复杂场景下使用`git rebase --onto <新基底> <旧基底> <分支>`,将特定提交从旧基底移动到新基底。
1913 10
|
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。
2808 1
List与String相互转化方法汇总
|
SQL 数据库
SQL INSERT INTO SELECT 语句
SQL INSERT INTO SELECT 语句
1566 3
|
存储 关系型数据库 数据库
在 Postgres 中使用 Insert Into Select
【8月更文挑战第11天】
1739 0
在 Postgres 中使用 Insert Into Select
|
算法 Java
java生成一个随机的身份证号
【10月更文挑战第5天】java生成一个随机的身份证号
1649 1
|
SQL 数据库
SQL中CASE WHEN THEN ELSE END的用法详解
SQL中CASE WHEN THEN ELSE END的用法详解
4580 2
|
SQL 存储 关系型数据库
COALESCE 函数:SQL中的空值处理利器
【8月更文挑战第31天】
9245 0