MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLで1つのテーブルから別のテーブルに行を移動しますか?


INSERT INTO SELECTステートメントを使用して、あるテーブルから別のテーブルに行を移動できます。

構文は次のとおりです-

insert into yourDestinationTableName select *from yourOriginalTable where someCondition

上記の構文を理解するため。テーブルを作成しましょう。以下は、テーブルを作成するためのクエリです-

mysql> create table StudentTable
   −> (
      −> Id int,
      −> Name varchar(100)
   −> );
Query OK, 0 rows affected (0.65 sec)

次に、2番目のテーブルを作成します。クエリは次のとおりです-

mysql> create table Employee
   −> (
      −> EmployeeId int
      −> ,
      −> EmployeeName varchar(100)
   −> );
Query OK, 0 rows affected (0.54 sec)

テーブルEmployeeにいくつかのレコードを挿入します。レコードを挿入するためのクエリは次のとおりです-

mysql> insert into Employee values(1,'Carol');
Query OK, 1 row affected (0.18 sec)

mysql> insert into Employee values(2,'John');
Query OK, 1 row affected (0.16 sec)

mysql> insert into Employee values(3,'Johnson');
Query OK, 1 row affected (0.11 sec)

これで、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';
Query OK, 1 row affected (0.17 sec)
Records: 1 Duplicates: 0 Warnings: 0

これで、行が2番目のテーブル「StudentTable」に存在するかどうかを確認できます。クエリは次のとおりです-

mysql> select *from StudentTable;

以下は出力です-

+------+---------+
| Id   |    Name |
+------+---------+
| 3    | Johnson |
+------+---------+
1 row in set (0.00 sec)

上記のサンプル出力を見てください。行をあるテーブルから別のテーブルに移動しました。すべての行を移動するには、「where」条件を削除する必要があります。クエリは次のとおりです-

mysql> insert into StudentTable select *from Employee;
Query OK, 3 rows affected (0.15 sec)
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)

  1. 別のテーブルの値を使用したINSERTINTOのMySQLクエリ?

    これには、INSERTINTOSELECTステートメントを使用します。 テーブルを作成しましょう- 例 mysql> create table demo82    -> (    -> id int,    -> name varchar(20)    -> ); Query OK, 0 rows affected (2.06 挿入コマンド-を使用して、いくつかのレコードをテーブルに挿入します。 例 mysql> insert into demo82 values(100,&

  2. MySQLのあるテーブルから別のテーブルにデータを挿入しますか?

    あるテーブルから別のテーブルにデータを挿入するには、INSERTINTOSELECTステートメントを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1    -> (    -> Id int,    -> FirstName varchar(20)    -> ); Query OK, 0 rows affected (0.49 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> i