MySQLでSELECTクエリを使用してデータを挿入(INSERT)する方法
MySQLでは、INSERT文とSELECTクエリを組み合わせることで、テーブルにデータを挿入することができます。通常、SELECTは既存のテーブルからデータを取得するために使われますが、値を直接指定してINSERTを実行する際にも活用できる便利な手法です。
基本構文
SELECTクエリを使用してINSERTを実行する場合の構文は以下の通りです。
insert into yourTableName(yourColumnName1,yourColumnName2,yourColumnName3,...N) select yourValue1,yourValue2,yourValue3,......N;
それでは、実際の使用例を見ていきましょう。
実践例:ステップごとの手順
1. テーブルを作成する
まず、サンプル用のテーブルを作成します。
mysql> create table DemoTable1603 -> ( -> StudentId int, -> StudentName varchar(20), -> StudentMarks int -> ); Query OK, 0 rows affected (0.50 sec)
2. SELECTクエリを使ってレコードを挿入する
次に、INSERTコマンドとSELECTクエリを組み合わせて、テーブルにレコードを追加します。
mysql> insert into DemoTable1603(StudentId,StudentName,StudentMarks) select 101,'John',45; Query OK, 1 row affected (0.17 sec) Records: 1 Duplicates: 0 Warnings: 0 mysql> insert into DemoTable1603(StudentId,StudentName,StudentMarks) select 102,'Adam',76; Query OK, 1 row affected (0.11 sec) Records: 1 Duplicates: 0 Warnings: 0 mysql> insert into DemoTable1603(StudentId,StudentName,StudentMarks) select 103,'Bob',67; Query OK, 1 row affected (0.31 sec) Records: 1 Duplicates: 0 Warnings: 0
3. 挿入されたレコードを確認する
SELECT文を使って、テーブル内のすべてのレコードを表示してみましょう。
mysql> select * from DemoTable1603;
上記のコマンドを実行すると、以下のような出力が得られます。
+-----------+-------------+--------------+ | StudentId | StudentName | StudentMarks | +-----------+-------------+--------------+ | 101 | John | 45 | | 102 | Adam | 76 | | 103 | Bob | 67 | +-----------+-------------+--------------+ 3 rows in set (0.00 sec)
まとめ
このように、INSERT文の中でSELECT句を使用することで、指定したカラムに対して任意の値を柔軟に挿入できます。単純なVALUES句を使う方法の代替手段として、他のテーブルからのデータ取得や条件分岐など、SELECTならではの柔軟性を活かしたい場面で特に役立ちます。
-
MySQLの正規表現(REGEXP)を使ってSELECTクエリでレコードを抽出する方法
MySQLの正規表現(REGEXP)を使ってSELECTクエリでレコードを抽出する方法 MySQLでは、REGEXP演算子をWHERE句と組み合わせることで、正規表現パターンに一致するレコードだけを柔軟に抽出できます。本記事では、サンプルテーブルの作成からデータ挿入、そして正規表現を活用したSELECTクエリの実行まで、具体的な手順を解説します。 1. テーブルの作成 まず、以下のコマンドでサンプル用のテーブルを作成します。 mysql> create table DemoTable1573 -> ( &nb
-
MySQLのINSERT INTO SELECT構文でAUTO_INCREMENTテーブルにデータを挿入する方法
はじめにMySQLでは、INSERT INTO ... SELECT構文を使うことで、SELECT文の結果をそのまま別のテーブルへ挿入できます。AUTO_INCREMENT列を持つテーブルに対しても、SELECT句で明示的に値を指定すれば、任意のIDを設定した状態で挿入が可能です。本記事では、AUTO_INCREMENT主キーを持つテーブルに、INSERT INTO SELECT文で具体的な値を挿入する手順を、サンプルコードと実行結果とともに解説します。テーブルの作成まず、次のようにテーブルを作成します。mysql> create table DemoTable1923 &nb