MySQL 如何在拥有不同MySQL数据库的表格之间移动数据,且它们的列不同
对于这个问题,你需要使用INSERT SELECT语句。其语法如下:
INSERT INTO
yourDatabaseName1.yourTableName1(yourColumnName1,yourColumnName2,....N)
SELECT yourColumnName1,yourColumnName2,....N FROM
yourdatabaseName2.yourTableName2;
在这里,我将使用以下两个数据库:
- sample
- test
让我们在“test”数据库中创建第一个表格
**
mysql> use test;
Database changed
mysql> create table send
-> (
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> Name varchar(20)
-> );
Query OK, 0 rows affected (1.19 sec)
使用insert指令将一些记录插入到第一个表格中。其语法如下:
mysql> insert into send(Name) values('John');
Query OK, 1 row affected (0.20 sec)
mysql> insert into send(Name) values('Carol');
Query OK, 1 row affected (0.40 sec)
使用select语句从表格中展示所有的记录:
mysql> select *from send;
以下是输出结果:
+----+-------+
| Id | Name |
+----+-------+
| 1 | John |
| 2 | Carol |
+----+-------+
2 rows in set (0.00 sec)
现在,在“sample”数据库中创建第二个表格
**
mysql> use sample;
Database changed
mysql> create table receive
-> (
-> UserId int,
-> UserName varchar(20)
-> );
Query OK, 0 rows affected (0.59 sec)
正如上面所看到的,第二个表格“receive”中并没有记录。
现在,让我们移动两个不同数据库中不同列的数据。其语法如下:
mysql> insert into sample.receive(UserId,UserName)
-> select Id,Name from test.send;
展示所有从表格sample.receive中的记录。其语法如下:
mysql> select *from receive;
下面是成功将数据从一个表格移动到另一个不同数据库中的输出结果:
+--------+----------+
| UserId | UserName |
+--------+----------+
| 1 | John |
| 2 | Carol |
+--------+----------+
2 rows in set (0.00 sec)
阅读更多:MySQL 教程
极客教程