MySQL 从一个表 Insert 到另一张表

MySQL 从一个表 Insert 到另一张表

MySQL 从一个表 Insert 到另一张表

1. 引言

在数据处理和数据库管理中,经常会遇到需要将一个表中的数据插入到另外一张表中的情况。MySQL 是一种开源的关系型数据库管理系统,提供了强大的数据操作功能,本文将详细介绍从一个表 table1 插入数据到另外一张表 table2 的方法。

2. 创建表

首先需要创建两张表 table1table2,以便进行数据的插入和操作。

2.1 创建 table1

CREATE TABLE `table1` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL,
  `age` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

2.2 创建 table2

CREATE TABLE `table2` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL,
  `age` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

3. 插入数据

接下来,我们将介绍不同的方法将 table1 中的数据插入到 table2 中。

3.1 使用 INSERT INTO SELECT 语句

可以使用 INSERT INTO SELECT 语句将 table1 中的数据插入到 table2 中。

INSERT INTO table2 (name, age)
SELECT name, age FROM table1;

运行以上语句后,table1 中的数据将被插入到 table2 中。

3.2 使用 INSERT INTO VALUES 语句

另一种常见的方法是使用 INSERT INTO VALUES 语句逐行插入数据。

INSERT INTO table2 (name, age)
VALUES ('John', 25),
       ('Alice', 30),
       ('Bob', 35);

运行以上语句后,给定的数据将逐行插入到 table2 中。

3.3 使用 INSERT IGNORE INTO VALUES 语句

如果希望插入数据时忽略已存在的主键冲突,可以使用 INSERT IGNORE INTO VALUES 语句。

INSERT IGNORE INTO table2 (name, age)
VALUES ('John', 25),
       ('Alice', 30),
       ('Bob', 35);

运行以上语句后,如果某行的主键与 table2 中的数据冲突,则会被忽略。

4. 结论

通过本文的介绍,我们了解了如何将一个表中的数据插入到另外一张表中。MySQL 提供了多种灵活的插入数据的方式,开发者可以根据需求选择适合的方式进行操作。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程