SQL INSERT INTO
SQL INSERT INTOステートメント
INSERT INTOステートメントは、テーブルに新しいレコードを挿入するために使用されます。
INSERT INTO構文
INSERT INTOステートメントを書く方法は2つあります:
- 列名と挿入する値を指定する方法:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
- テーブルのすべての列に値を追加する場合は、SQLクエリで列名を指定する必要はありません。ただし、値の順序がテーブル内の列の順序と同じであることを確認してください。この場合、INSERT INTO構文は次のようになります:
INSERT INTO table_name
VALUES (value1, value2, value3, ...);
デモデータベース
以下は、例で使用されるCustomersテーブルの一部です:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
89 | White Clover Markets | Karl Jablonski | 305 – 14th Ave. S. Suite 3B | Seattle | 98128 | USA |
90 | Wilman Kala | Matti Karttunen | Keskuskatu 45 | Helsinki | 21240 | Finland |
91 | Wolski | Zbyszek | ul. Filtrowa 68 | Walla | 01-012 | Poland |
INSERT INTO例
以下のSQLステートメントは、”Customers”テーブルに新しいレコードを挿入します:
例
INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
VALUES ('Cardinal', 'Tom B. Erichsen', 'Skagen 21', 'Stavanger', '4006', 'Norway');
“Customers”テーブルの選択は次のようになります:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
89 | White Clover Markets | Karl Jablonski | 305 – 14th Ave. S. Suite 3B | Seattle | 98128 | USA |
90 | Wilman Kala | Matti Karttunen | Keskuskatu 45 | Helsinki | 21240 | Finland |
91 | Wolski | Zbyszek | ul. Filtrowa 68 | Walla | 01-012 | Poland |
92 | Cardinal | Tom B. Erichsen | Skagen 21 | Stavanger | 4006 | Norway |
注:CustomerIDフィールドに番号を挿入していないことに気づきましたか?
CustomerID列は自動インクリメントフィールドであり、新しいレコードがテーブルに挿入されると自動的に生成されます。
特定の列にのみデータを挿入する
特定の列にのみデータを挿入することも可能です。
以下のSQLステートメントは、新しいレコードを挿入しますが、「CustomerName」、「City」、「Country」列にのみデータを挿入します(CustomerIDは自動的に更新されます):
例
INSERT INTO Customers (CustomerName, City, Country)
VALUES ('Cardinal', 'Stavanger', 'Norway');
“Customers”テーブルの選択は次のようになります:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
89 | White Clover Markets | Karl Jablonski | 305 – 14th Ave. S. Suite 3B | Seattle | 98128 | USA |
90 | Wilman Kala | Matti Karttunen | Keskuskatu 45 | Helsinki | 21240 | Finland |
91 | Wolski | Zbyszek | ul. Filtrowa 68 | Walla | 01-012 | Poland |
92 | Cardinal | null | null | Stavanger | null | Norway |
複数行の挿入
1つのステートメントで複数の行を挿入することも可能です。
複数のデータ行を挿入するには、同じINSERT INTOステートメントを使用しますが、複数の値を指定します:
例
INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
VALUES
('Cardinal', 'Tom B. Erichsen', 'Skagen 21', 'Stavanger', '4006', 'Norway'),
('Greasy Burger', 'Per Olsen', 'Gateveien 15', 'Sandnes', '4306', 'Norway'),
('Tasty Tee', 'Finn Egan', 'Streetroad 19B', 'Liverpool', 'L1 0AA', 'UK');
各セットの値をカンマで区切ることを確認してください。
“Customers”テーブルの選択は次のようになります:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
89 | White Clover Markets | Karl Jablonski | 305 – 14th Ave. S. Suite 3B | Seattle | 98128 | USA |
90 | Wilman Kala | Matti Karttunen | Keskuskatu 45 | Helsinki | 21240 | Finland |
91 | Wolski | Zbyszek | ul. Filtrowa 68 | Walla | 01-012 | Poland |
92 | Cardinal | Tom B. Erichsen | Skagen 21 | Stavanger | 4006 | Norway |
93 | Greasy Burger | Per Olsen | Gateveien 15 | Sandnes | 4306 | Norway |
94 | Tasty Tee | Finn Egan | Streetroad 19B | Liverpool | L1 0AA | UK |