📜  mysql 向另一个数据库插入行 - SQL (1)

📅  最后修改于: 2023-12-03 14:44:29.376000             🧑  作者: Mango

MySQL 向另一个数据库插入行 - SQL

MySQL 是目前使用最广泛的关系型数据库管理系统之一,它支持多种编程语言,并且可以方便地在不同的操作系统上运行。在实际应用中,我们经常需要将数据从一个数据库复制到另一个数据库。

本文将介绍如何使用 SQL 语句将 MySQL 中的数据插入到另一个数据库中。

准备工作

在开始之前,我们需要创建两个数据库。在本文中,我们将使用 example1example2 两个数据库。

例如,我们可以使用以下 SQL 语句在 MySQL 中创建这两个数据库:

CREATE DATABASE example1;
CREATE DATABASE example2;

example1 数据库中创建一个表 users

USE example1;

CREATE TABLE users (
  id INT(11) NOT NULL AUTO_INCREMENT,
  name VARCHAR(50) NOT NULL,
  age INT(11) NOT NULL,
  PRIMARY KEY (id)
);

example2 数据库中创建一个相同的表 users

USE example2;

CREATE TABLE users (
  id INT(11) NOT NULL AUTO_INCREMENT,
  name VARCHAR(50) NOT NULL,
  age INT(11) NOT NULL,
  PRIMARY KEY (id)
);

现在我们已经准备好了两个数据库和一个表。

插入数据

假设我们已经在 example1 中插入了一些数据:

USE example1;

INSERT INTO users (name, age) VALUES ('Alice', 25);
INSERT INTO users (name, age) VALUES ('Bob', 30);

我们的目标是将这些数据插入到 example2 中。

为了实现这个目标,我们可以使用以下 SQL 语句:

INSERT INTO example2.users (name, age)
SELECT name, age
FROM example1.users;

这个语句的基本思想是从 example1.users 表中选择数据,并将它们插入到 example2.users 表中。在 SELECT 语句中,我们指定要选择的列。在本例中,我们只选择了 nameage 两列。

注意在 INSERT 语句中,我们使用了 example2.users 来指定要插入数据的目标表。这是因为我们正在从一个数据库中复制数据到另一个数据库,而不是在同一数据库中移动数据。

结论

本文介绍了如何使用 SQL 语句将 MySQL 中的数据插入到另一个数据库中。此方法对于将数据从一个数据库复制到另一个数据库非常有用。

虽然我们的例子只涉及一个表,但这个方法同样适用于多个表。你只需要将上述 SQL 语句对应到每个表。

INSERT INTO example2.table1 (column1, column2)
SELECT column1, column2
FROM example1.table1;

本文所示的示例代码片段:

```sql
CREATE DATABASE example1;
CREATE DATABASE example2;
USE example1;

CREATE TABLE users (
  id INT(11) NOT NULL AUTO_INCREMENT,
  name VARCHAR(50) NOT NULL,
  age INT(11) NOT NULL,
  PRIMARY KEY (id)
);
USE example2;

CREATE TABLE users (
  id INT(11) NOT NULL AUTO_INCREMENT,
  name VARCHAR(50) NOT NULL,
  age INT(11) NOT NULL,
  PRIMARY KEY (id)
);
USE example1;

INSERT INTO users (name, age) VALUES ('Alice', 25);
INSERT INTO users (name, age) VALUES ('Bob', 30);
INSERT INTO example2.users (name, age)
SELECT name, age
FROM example1.users;