logo

SQL INSERT INTO 文

SQL の INSERT INTO ステートメントは、データベース内のテーブルに新しいレコードを追加するために使用されます。これはデータ挿入の基本的なコマンドであり、新しいデータをテーブルに挿入するために使用されます。

構文

INSERT INTO ステートメントには、要件に応じて 2 つの構文があります。 2 つの構文は次のとおりです。

1. 値のみ

1 つ目の方法は、列名を指定せずに、挿入するデータの値のみを指定する方法です。



INSERT INTO テーブル名
VALUES (値1、値2、値);

ここ、

  • テーブル名: テーブルの名前。
  • 値1、値2: 新しいレコードの最初の列、2 列目、... の値

2. 列名と値の両方

2 番目の方法では、以下に示すように、入力する列とそれに対応する値の両方を指定します。

に挿入 テーブル名 (列 1、列 2、列 3)
価値観 (値1、値2、値);

ここ、

  • テーブル名: テーブルの名前。
  • 列 1、列 2..: 最初の列、2 番目の列の名前。
  • 値1、値2、値..: 新しいレコードの最初の列、2 列目、... の値

SQL INSERT INTO の例

理解を深めるために、SQL の INSERT INTO ステートメントの例をいくつか見てみましょう。

Student データベースがあり、値を追加するとします。

モニターとは何ですか
ROLL_NO 名前 住所 電話
1 ラム デリー xxxxxxxxxxxx 18
2 ラメシュ グルガオン xxxxxxxxxxxx 18
3 スジット ロータク xxxxxxxxxxxx 二十
4 スレシュ ロータク xxxxxxxxxxxx 18
3 スジット ロータク xxxxxxxxxxxx 二十
2 ラメシュ グルガオン xxxxxxxxxxxx 18

INSERT INTO の例を使用して新しい値のみを挿入する

値のみを挿入する場合は、次のクエリを使用します。

クエリ:

ネットワークの種類
  INSERT INTO  Student   VALUES   ('5','HARSH','WEST BENGAL', 'XXXXXXXXXX','19');>

出力:

テーブル 学生 次のようになります:

ROLL_NO 名前 住所 電話
1 ラム デリー XXXXXXXXX 18
2 ラメシュ グルガオン XXXXXXXXX 18
3 スジット ロータク XXXXXXXXX 二十
4 スレシュ デリー XXXXXXXXX 18
3 スジット ロータク XXXXXXXXX 二十
2 ラメシュ グルガオン XXXXXXXXX 18
5 ひどい 西ベンガル州 XXXXXXXXX 19

INSERT INTO の例を使用して指定した列に値を挿入する

指定した列に値を挿入する場合は、次のクエリを使用します。

クエリ:

  INSERT INTO  Student (ROLL_NO, NAME, Age)   VALUES   ('5','PRATIK','19');>

出力:

テーブル 学生 次のようになります:

ROLL_NO 名前 住所 電話
1 ラム デリー XXXXXXXXX 18
2 ラメシュ グルガオン XXXXXXXXX 18
3 スジット ロータク XXXXXXXXX 二十
4 スレシュ デリー XXXXXXXXX 18
3 スジット ロータク XXXXXXXXX 二十
2 ラメシュ グルガオン XXXXXXXXX 18
5 練習する ヌル ヌル 19

値が提供されていない列は null で埋められていることに注意してください。これらの列のデフォルト値はどれですか?

単一の SQL ステートメントを使用してテーブルに複数の行を挿入する

指定された手法を使用すると、単一のクエリでテーブルに複数の行を挿入できます。これにより、クエリの作成時間が節約され、マージン エラーが減少します。

構文:

INSERT INTO テーブル名(列1,列2,列3,…….)
値 (値 1、値 2、値 3、…..)、
(値1、値2、値3、…..)、
(値1、値2、値3、…..)、
…………………….. ;

どこ、

  • テーブル名: テーブルの名前。
    列 1: 最初の列、2 番目の列の名前。
  • 値: Value1、Value2、Value3: 1 列目、2 列目の値。
  • 挿入される新しい行ごとに、各リストが , で区切られた複数の値のリストを提供する必要があります。すべての値のリストは、テーブルの新しい各行に挿入される値に対応します。次のリストの値は、テーブルの次の行に値を挿入することを示します。

単一の SQL ステートメントを使用してテーブルに複数の行を挿入する例:

次の SQL ステートメントは Student テーブルに複数の行を挿入します。

yメールとは何ですか

クエリ:

  INSERT INTO  STUDENT (ID, NAME,AGE,GRADE,CITY)   VALUES  (1,'AMIT KUMAR',15,10,'DELHI'), (2,'GAURI RAO',18,12,'BANGALORE'), (3,'MANAV BHATT',17,11,'NEW DELHI'), (4,'RIYA KAPOOR',10,5,'UDAIPUR');>

出力:

したがって、STUDENT テーブルは次のようになります。

ID 名前 学年
1 アミット・クマール 15 10 デリー
2 ガウリ・ラオ 18 12 バンガロール
3 マナブ・バット 17 十一 ニューデリー
4 リヤ・カプール 10 5 ウダイプール

S QL 選択に挿入

SQL INSERT INTO SELECT ステートメントは、あるテーブルからデータをコピーし、それを別のテーブルに挿入するために使用されます。このステートメントの使用方法は、INSERT INTO ステートメントの使用方法と似ています。違いは、 SELECT ステートメント ここでは、別のテーブルからデータを選択するために使用されます。 INSERT INTO SELECT ステートメントのさまざまな使用方法を以下に示します。

選択に挿入 構文

INSERT INTO SELECT ステートメントを使用するには、用途に応じて 2 つの構文があります。

すべての列をコピーして挿入

INSERT INTO SELECT クエリを使用してテーブルからすべてのデータを別のテーブルに挿入するための構文は次のとおりです。

INSERT INTO first_table SELECT * FROM Second_table;

ここ、

  • 最初のテーブル: 最初のテーブルの名前。
  • セカンドテーブル: 2 番目のテーブルの名前。

SELECT ステートメントを使用して 1 つのテーブルからデータをコピーし、INSERT INTO ステートメントを使用して別のテーブルからデータを挿入しました。

特定の列をコピーして挿入

INSERT INTO SELECT クエリを使用してテーブルから別のテーブルに特定のデータを挿入するための構文は次のとおりです。

INSERT INTO first_table(names_of_columns1)
列の名前 2 を 2 番目のテーブルから選択します。

ここ、

  • first_table : 最初のテーブルの名前。 Second_table: 2 番目のテーブルの名前。
  • 列の名前1: テーブル 1 のカンマ (,) で区切られた列の名前。
  • 列の名前2 : テーブル 2 のカンマ (,) で区切られた列の名前。

SELECT ステートメントを使用して、選択した列のデータのみを 2 番目のテーブルからコピーし、INSERT INTO ステートメントを使用して最初のテーブルに挿入しました。

C 特定の行をコピーして挿入

SELECT ステートメントで WHERE 句を使用すると、テーブルから特定の行をコピーして別のテーブルに挿入できます。特定の行を選択するには、WHERE 句に適切な条件を指定する必要があります。

INSERT INTO SELECT クエリを使用してテーブルから特定の行を挿入するための構文

Javaの参照データ型

INSERT INTO table1 SELECT * FROM table2 WHERE 条件;

ここ、

  • first_table : 最初のテーブルの名前。
  • セカンドテーブル : 2 番目のテーブルの名前。
  • 状態 : 特定の行を選択する条件。

SQL INSERT INTO SELECT の例

INSERT INTO SELECT ステートメントをよりよく理解するために、INSERT INTO SELECT ステートメントの例をいくつか見てみましょう。

LateralStudent データベースがあるとします。

ROLL_NO 名前 住所 電話
7 スーヴィク ハイデラバード XXXXXXXXX 18
8 ニラージ ノイダ XXXXXXXXX 19
9 ソメシュ ロータク XXXXXXXXX 二十

INSERT INTO SELECT の例を使用してすべての行と列を挿入する

値のみを挿入する場合は、次のクエリを使用します。

クエリ:

  INSERT INTO  Student   SELECT   *  FROM   LateralStudent;>

出力:

このクエリは、テーブル LateralStudent のすべてのデータをテーブル Student に挿入します。 Student のテーブルは次のようになります。

ROLL_NO 名前 住所 電話
1 ラム デリー XXXXXXXXX 18
2 ラメシュ グルガオン XXXXXXXXX 18
3 スジット ロータク XXXXXXXXX 二十
4 スレシュ デリー XXXXXXXXX 18
3 スジット ロータク XXXXXXXXX 二十
2 ラメシュ グルガオン XXXXXXXXX 18
7 スーヴィク ダムバム XXXXXXXXX 18
8 ニラージ ノイダ XXXXXXXXX 19
9 ソメシュ ロータク XXXXXXXXX 二十

INSERT INTO SELECT の例を使用して特定の列を挿入する

指定した列に値を挿入する場合は、次のクエリを使用します。

世界最高の自動車

クエリ:

  INSERT INTO  Student(ROLL_NO,NAME,Age)   SELECT   ROLL_NO, NAME, Age  FROM   LateralStudent;>

出力:

このクエリは、テーブル Student のテーブル LateralStudent の列 ROLL_NO、NAME、および Age にデータを挿入し、Student テーブルの残りの列には次の値が入力されます。 ヌル これは残りの列のデフォルト値です。 Student のテーブルは次のようになります。

ROLL_NO 名前 住所 電話
1 ラム デリー XXXXXXXXX 18
2 ラメシュ グルガオン XXXXXXXXX 18
3 スジット ロータク XXXXXXXXX 二十
4 スレシュ デリー XXXXXXXXX 18
3 スジット ロータク XXXXXXXXX 二十
2 ラメシュ グルガオン XXXXXXXXX 18
7 スーヴィク ヌル ヌル 18
8 ニラージ ヌル ヌル 19
9 ソメシュ ヌル ヌル 二十

INSERT INTO SELECT の例を使用して特定の行を挿入します。

  INSERT INTO  Student   SELECT   *  FROM   LateralStudent WHERE Age = 18;>

出力:

このクエリは、テーブル LateralStudent から最初の行のみを選択し、テーブル Student に挿入します。 Student のテーブルは次のようになります。

ROLL_NO 名前 住所 電話
1 ラム デリー XXXXXXXXX 18
2 ラメシュ グルガオン XXXXXXXXX 18
3 スジット ロータク XXXXXXXXX 二十
4 スレシュ デリー XXXXXXXXX 18
3 スジット ロータク XXXXXXXXX 二十
2 ラメシュ グルガオン XXXXXXXXX 18
7 スーヴィク ダムバム XXXXXXXXX 18

SQL INSERT INTO 文に関する重要なポイント

  • INSERT INTO ステートメントは、データベース内のテーブルに新しいレコードを追加するために使用されます。
  • 複数の値のセットを指定することで、単一のステートメントに複数のレコードを挿入できます。
  • 列名を指定しない場合、ステートメントはすべての列を想定し、値はテーブル定義と同じ順序である必要があります。
  • INSERT ステートメントに含まれていない列には、デフォルト値 (通常は NULL) が設定されます。
  • ステートメント条件。