最初のテーブルから2番目のテーブルにレコード(すべてではない)を挿入する単一のMySQLクエリ
以下の構文に示すように、これにはMySQLでselectを使用してネストされた挿入を使用します-
insert into yourTableName2(yourColumnName1,yourColumnName2,.....N) select yourColumnName1,yourColumnName2,....N from yourTableName1 where yourCondition;
最初に例を見て、テーブルを作成しましょう-
mysql> create table DemoTable1 ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Name varchar(40) ); Query OK, 0 rows affected (0.88 sec)
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable1(Name) values('Chris'); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable1(Name) values('David'); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable1(Name) values('Bob'); Query OK, 1 row affected (0.12 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select *from DemoTable1;
これにより、次の出力が生成されます-
+----+-------+ | Id | Name | +----+-------+ | 1 | Chris | | 2 | David | | 3 | Bob | +----+-------+ 3 rows in set (0.00 sec)
以下は、2番目のテーブルを作成するためのクエリです-
mysql> create table DemoTable1 ( ClientId int, ClientFirstName varchar(20) ); Query OK, 0 rows affected (0.60 sec)
以下は、最初のテーブルから2番目のテーブルにレコードを挿入するためのクエリです-
mysql> insert into DemoTable2(ClientId,ClientFirstName) select Id,Name from DemoTable1 where Id !=2; Query OK, 2 rows affected (0.17 sec) Records: 2 Duplicates: 0 Warnings: 0
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select *from DemoTable2;
これにより、次の出力が生成されます-
+----------+-----------------+ | ClientId | ClientFirstName | +----------+-----------------+ | 1 | Chris | | 3 | Bob | +----------+-----------------+ 2 rows in set (0.00 sec)
-
MySQLテーブル列のすべての日付レコードに1年を追加します
まずテーブルを作成しましょう- mysql> create table DemoTable -> ( -> JoiningDate datetime -> ); Query OK, 0 rows affected (0.59 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('2015-01-21'); Query OK, 1 row affected (0.15 sec
-
単一のクエリでIN()を使用してMySQLテーブルからレコードを削除する
テーブルを作成しましょう- mysql> create table DemoTable1922 ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName varchar(20) ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1922(StudentNa