在MySQL中将行从一个表移到另一个表?
您可以借助INSERT INTO SELECT语句将行从一个表移动到另一个表。
语法如下-
insert into yourDestinationTableName select *from yourOriginalTable where someCondition
了解以上语法。让我们创建一个表。以下是创建表的查询-
mysql> create table StudentTable−> (
−> Id int,
−> Name varchar(100)
−> );
现在,我将创建第二个表。查询如下-
mysql> create table Employee−> (
−> EmployeeId int
−> ,
−> EmployeeName varchar(100)
−> );
在表Employee中插入一些记录。插入记录的查询如下-
mysql> insert into Employee values(1,'Carol');mysql> insert into Employee values(2,'John');
mysql> insert into Employee values(3,'Johnson');
现在,您可以借助SELECT语句显示Employee表中的所有记录。查询如下:
mysql> select *from Employee;
以下是输出-
+------------+--------------+| EmployeeId | EmployeeName |
+------------+--------------+
| 1 | Carol |
| 2 | John |
| 3 | Johnson |
+------------+--------------+
3 rows in set (0.00 sec)
实现开始时讨论的语法,以将行移动到另一个表中。下面的查询将行从Employee表移动到StudentTable-
mysql> insert into StudentTable select *from Employee where EmployeeId = 3 and EmployeeName = 'Johnson';Records: 1 Duplicates: 0 Warnings: 0
现在,您可以检查第二个表“ StudentTable”中是否存在该行。查询如下-
mysql> select *from StudentTable;
以下是输出-
+------+---------+| Id | Name |
+------+---------+
| 3 | Johnson |
+------+---------+
1 row in set (0.00 sec)
看上面的示例输出,我们已经将行从一个表移到了另一个表。要移动所有行,只需删除“ where”条件。查询如下-
mysql> insert into StudentTable select *from Employee;Records: 3 Duplicates: 0 Warnings: 0
查询在StudentTable中显示所有更新的记录-
mysql> select *from StudentTable;
以下是输出-
+------+---------+| Id | Name |
+------+---------+
| 1 | Carol |
| 2 | John |
| 3 | Johnson |
+------+---------+
3 rows in set (0.00 sec)
以上是 在MySQL中将行从一个表移到另一个表? 的全部内容, 来源链接: utcz.com/z/351396.html