sql >> データベース >  >> RDS >> Database

SQLINSERTINTOステートメント

    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、'Ahmedab​​ad'、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


    1. SQLiteで現在の日付を取得する方法

    2. SQL Server 2017:SSISを使用したLinuxからSalesforceへのCSVデータのインポート

    3. mysqlのGREATESTに似たSQLServer2008の機能?

    4. Postgres/JSON-すべての配列要素を更新します