SQL Insert IntoおよびInsertステートメント:MySQL構文の例を使用

この記事では、SQLでInsertステートメントとInsertIntoステートメントの両方を使用する方法について説明します。

SQLでInsertを使用する方法

挿入クエリは、テーブルにデータを挿入する方法です。を使用してテーブルを作成したとしましょう

CREATE TABLE example_table ( name varchar(255), age int)

example_table

名前年齢

ここで、このテーブルにデータを追加するため  に、次の方法でINSERTを使用します  。

INSERT INTO example_table (column1,column2) VALUES ("Andrew",23)

example_table

NameAgeAndrew23

以下でも機能しますが、どのデータがどの列に入るのかを指定することは常に良い習慣です。

INSERT INTO table_name VALUES ("John", 28)

example_table

NameAgeAndrew23John28

SQLでInsertIntoを使用する方法

テーブルにレコードを挿入するには、INSERT INTO  ステートメントを使用します  。

これは2つの方法で行うことができます。一部の列にのみ値を挿入する場合は、すべての必須列を含む名前をリストする必要があります。構文は次のとおりです。

INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...); 

もう1つの方法は、テーブル内のすべての列に値を挿入することです。列名を指定する必要はありません。構文は次のとおりです。

INSERT INTO table_name VALUES (value1, value2, value3, ...); 

これは、両方の方法でテーブルPersonにレコードを挿入する例です。

INSERT INTO Person VALUES (1, ‘John Lennon’, ‘1940-10-09’, ‘M’); 

そして

INSERT INTO Person(Id, Name, DateOfBirth, Gender) VALUES (1, ‘John Lennon’, ‘1940-10-09’, ‘M’); 

一部のSQLバージョン(MySQLなど)は、一度に複数の行を挿入することをサポートしています。例えば:

INSERT INTO Person(Id, Name, DateOfBirth, Gender) VALUES (1, ‘John Lennon’, ‘1940-10-09’, ‘M’), (2, ‘Paul McCartney’, ‘1942-06-18’, ‘M’), (3, ‘George Harrison’, ‘1943-02-25’, ‘M’), (4, ‘Ringo Starr’, ‘1940-07-07’, ‘M’) 

元のクエリ全体がそのまま残ることに注意してください。括弧で囲まれ、コンマで区切られたデータ行を追加するだけです。

SelectステートメントでInsertIntoを使用することもできます。

データベースにすでに保存されているデータを使用して、テーブルにレコードを挿入できます。これはデータのコピーにすぎず、元のテーブルには影響しません。

INSERT INTO SELECT  ステートメントコンバイン  INSERT INTO  と  SELECT  文とあなたが望む任意の条件を使用することができます。構文は次のとおりです。

INSERT INTO table2 (column1, column2, column3, ...) SELECT column1, column2, column3, ... FROM table1 WHERE condition; 

これは、テーブルStudentsのすべての男性学生をテーブルPersonに挿入する例です。

INSERT INTO Person(Id, Name, DateOfBirth, Gender) SELECT Id, Name, DateOfBirth, Gender FROM Students WHERE Gender = ‘M’