mysql insert select

mysql insert select

mysql insert select

数据库的插入与查询是数据库操作中最基本也是最常用的两个功能。MySQL 是一种常用的关系型数据库管理系统,提供了丰富的插入和查询功能。本文将详解 MySQL 中的插入与查询操作。

插入数据

在 MySQL 中插入数据可以使用 INSERT INTO 语句。下面是 INSERT INTO 语句的基本格式:

INSERT INTO 表名 (列1, 列2, 列3, ...) VALUES (值1, 值2, 值3, ...);

在插入数据时,需要指定要插入的表名、列名和对应的值。例如,我们有一个名为 student 的表,该表有 id, name, age 三个列,我们可以通过以下语句插入一条数据:

INSERT INTO student (id, name, age) VALUES (1, 'John', 20);

上述语句将在 student 表中插入新的一行数据,其中 id 为 1,name 为 ‘John’,age 为 20。

如果我们要插入多条数据,可以在 VALUES 后面添加多个以逗号分隔的值组合。例如,在 student 表中插入两条数据可以使用如下语句:

INSERT INTO student (id, name, age) VALUES (2, 'Alice', 22), (3, 'Bob', 21);

上述语句将在 student 表中插入两行数据,第一行数据的 id 为 2,name 为 ‘Alice’,age 为 22;第二行数据的 id 为 3,name 为 ‘Bob’,age 为 21。

除了直接指定列和值的方式插入数据外,还可以使用 SELECT 语句插入数据。

从查询结果插入数据

MySQL 允许我们使用 SELECT 语句的结果插入数据,这样可以方便地将一个表中的数据插入到另一个表中。

使用 SELECT 插入数据的语法如下:

INSERT INTO 目标表 (列1, 列2, 列3, ...) SELECT 列1, 列2, 列3, ... FROM 源表 WHERE 条件;

其中,目标表是要插入数据的表,列1, 列2, 列3, … 是目标表对应的列,源表是 SELECT 语句的查询结果的来源表,WHERE 子句是可选的,用于筛选需要插入的数据。

以下是一个示例,将一个表中的数据插入到另一个表中:

首先,我们创建一个名为 source 的表,并插入一些数据:

CREATE TABLE source (
  id INT,
  name VARCHAR(20),
  age INT
);

INSERT INTO source (id, name, age) VALUES (1, 'John', 20);
INSERT INTO source (id, name, age) VALUES (2, 'Alice', 22);
INSERT INTO source (id, name, age) VALUES (3, 'Bob', 21);

接下来,我们创建一个名为 target 的表,结构与 source 表相同:

CREATE TABLE target (
  id INT,
  name VARCHAR(20),
  age INT
);

使用 SELECT 插入数据到 target 表:

INSERT INTO target (id, name, age) SELECT id, name, age FROM source;

上述语句将把 source 表中的所有数据插入到 target 表中。

我们可以使用 SELECT 语句查询 target 表来验证插入结果:

SELECT * FROM target;

输出应为:

+------+-------+-----+
| id   | name  | age |
+------+-------+-----+
| 1    | John  | 20  |
| 2    | Alice | 22  |
| 3    | Bob   | 21  |
+------+-------+-----+

总结

本文详细介绍了 MySQL 中的插入与查询操作。我们可以使用 INSERT INTO 语句直接插入数据,也可以使用 SELECT 语句的结果插入数据。插入与查询是数据库操作中最常用的两个功能,掌握好这两个操作能够更好地利用数据库实现数据的增加和获取。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程