SQL INSERT INTOステートメントは、新しく作成されたテーブルまたは既存のテーブルにデータを追加します。このクエリを使用して、テーブルに単一のレコードまたは複数のレコードを追加できます。
テーブルにデータを追加するには、次の2つの方法があります。
- フィールドの名前と値がテーブルに追加されていることに言及します。
- すべてのテーブルフィールドに値を追加する場合、SQLINSERTINTOステートメントまたはクエリでフィールドの名前を指定する必要はありません。ただし、値の順序がテーブルの列の順序と同じであることを確認してください。
ステートメントまたはクエリでフィールド名を指定することによるSQLINSERTINTOステートメントの構文:
INSERT INTO Table_Name (Column_Name1, Column_Name2, Column_Name3, Column_Name4, Column_Name5) VALUES (Value1, Value2, Value3, Value4, Value5);
Column_Name1、Column_Name2、Column_Name3、Column_Name4、Column_Name5は、値を追加するテーブルのフィールド名です。
ステートメントまたはクエリのフィールド名を指定しないSQLINSERTINTOステートメントの構文:
INSERT INTO Table_Name VALUES (Value1, Value2, Value3, Value4, Value5);
上記の構文は、テーブルのすべてのフィールドに値を挿入するために使用されます。
次のステートメントは、Customerテーブルに8つのレコードを作成します。
INSERT INTO Customer(Customer_Id、Customer_Name、Age、Address、Salary)
VALUES(1、'Rakesh'、32、'Ahmedabad'、20000);
INSERT INTO Customer(Customer_Id、Customer_Name、Age、Address、Salary)
VALUES(2、'Kamlesh'、27、'Delhi'、15000);
INSERT INTO Customer(Customer_Id、Customer_Name、Age、Address、Salary)
VALUES(3、'kaustubh'、25、'Pune'、20000);
INSERT INTO Customer(Customer_Id、Customer_Name、Age、Address、Salary)
VALUES(4、'Chaitali'、25、'Mumbai'、15000);
INSERT INTO Customer(Customer_Id、Customer_Name、Age、Address、Salary)
VALUES(5、'Himesh'、29、'Delhi'、45000);
INSERT INTO Customer(Customer_Id、Customer_Name、Age、Address、Salary)
値(6、'Komal'、22、'MP'、45000);
INSERT INTO Customer(Customer_Id、Customer_Name、Age、Address、Salary)
値(7、'Nikhlesh'、28、'Delhi'、40000);
INSERT INTO Customer(Customer_Id、Customer_Name、Age、Address、Salary)
VALUES(8、'Kamolika'、24、'Pune'、50000);
上記のINSERTINTOステートメントでは、テーブルのフィールド名に言及することで、Customerテーブルにレコードを追加しました。
テーブルのフィールド名を指定せずに、データをテーブルに追加できます:
次のステートメント例では、Customerテーブルに6つのレコードが作成されます。
顧客の価値観に挿入(9、「ラマン」、30、「ムンバイ」、35500);
顧客の価値観に挿入(10、「Manoj」、40、「Pune」、45000);
顧客の価値観に挿入(11、「Shweta」、26、「MP」、42500);
顧客の価値観に挿入(12、「Shivani」、25、「Delhi」、50000);
顧客の価値観に挿入(13、「Rahul」、28、「Nashik」、34000);
顧客の価値観に挿入(14、「Sahil」、22、「Nashik」、27000);
上記のINSERTINTOステートメントの例では、クエリでフィールド名を指定せずにレコードを追加しています。
上記のすべてのクエリは、以下に示すように、Customerテーブルに次のデータを生成します。
Customer_Id | Customer_Name | 年齢 | 住所 | 給与 |
1 | Rakesh | 32 | アーメダバード | 20000 |
2 | カムレッシュ | 27 | デリー | 15000 |
3 | カウスブ | 25 | プネ | 20000 |
4 | チャイタリ | 25 | ムンバイ | 15000 |
5 | ヒメーシュ | 29 | デリー | 45000 |
6 | コマル | 22 | MP | 45000 |
7 | ニクレシュ | 28 | デリー | 40000 |
8 | カモリカ | 24 | プネ | 50000 |
9 | ラマン | 30 | ムンバイ | 35500 |
10 | マノジ | 40 | プネ | 45000 |
11 | シュエタ | 26 | MP | 42500 |
12 | シヴァニ | 25 | デリー | 50000 |
13 | ラフル | 28 | ナシック | 34000 |
14 | サヒル | 22 | ナシック | 27000 |
INSERTINTOSELECTステートメント。
INSERT INTO SELECTステートメントは、テーブルにレコードを追加する方法でもあります。 INSERT INTO SELECTステートメントは、既存のテーブルから1つのテーブルにレコードを挿入するために使用されます。すべてのフィールドとフィールドの順序が同じ場合。
別の顧客を作成し、上記の顧客テーブルの同じフィールドを使用します。
CREATE TABLE Customers (Customer_Id int Primary key, Customer_Name varchar(40), Age int, Address Varchar(20), Salary int);
DESCコマンドに続けてCustomersテーブル名を使用して、テーブル構造を表示します。
フィールド | タイプ | ヌル | キー | デフォルト | 追加 |
Customer_Id | Int(11) | いいえ | PRI | NULL | |
Customer_Name | Varchar(40) | はい | NULL | ||
年齢 | Int(11) | はい | NULL | ||
住所 | Varchar(20) | はい | NULL | ||
給与 | Int(11) | はい | NULL |
別のテーブルのSELECTステートメントを使用してテーブルにレコードを追加できます。
INSERT INTO SELECTの構文:
INSERT INTO Table1 [(Column_Name1, Column_Name2, Column_Name3, Column_Name4, Column_Name5)] SELECT Column_Name1, Column_Name2, Column_Name3, Column_Name4, Column_Name5 FROM Table2;
INSERT INTO SELECTステートメントの例:
INSERT INTO Customers SELECT * FROM Customer;
上記のクエリINSERTINTOSELECTの例では、CustomerテーブルのすべてのレコードがCustomersテーブルに追加されます。
Customerテーブルの次のデータを以下に示します。
Customer_Id | Customer_Name | 年齢 | 住所 | 給与 |
1 | Rakesh | 32 | アーメダバード | 20000 |
2 | カムレッシュ | 27 | デリー | 15000 |
3 | カウスブ | 25 | プネ | 20000 |
4 | チャイタリ | 25 | ムンバイ | 15000 |
5 | ヒメーシュ | 29 | デリー | 45000 |
6 | コマル | 22 | MP | 45000 |
7 | ニクレシュ | 28 | デリー | 40000 |
8 | カモリカ | 24 | プネ | 50000 |
9 | ラマン | 30 | ムンバイ | 35500 |
10 | マノジ | 40 | プネ | 45000 |
11 | シュエタ | 26 | MP | 42500 |
12 | シヴァニ | 25 | デリー | 50000 |
13 | ラフル | 28 | ナシック | 34000 |
14 | サヒル | 22 | ナシック | 27000 |