サーチ…


構文

  • INSERT INTO table_name(column1、column2、column3、...)VALUES(値1、値2、値3、...);
  • INSERT INTO table_name(column1、column2 ...)SELECT value1、value2 ... from other_table

新しい行を挿入

INSERT INTO Customers
VALUES ('Zack', 'Smith', '[email protected]', '7049989942', 'EMAIL');

このステートメントは、 Customersテーブルに新しい行を挿入します。 Id列には値が指定されていないので、自動的に追加されることに注意してください。ただし、その他の列の値はすべて指定する必要があります。

指定された列のみを挿入する

INSERT INTO Customers (FName, LName, Email, PreferredContact)
VALUES ('Zack', 'Smith', '[email protected]', 'EMAIL');

このステートメントは、 Customersテーブルに新しい行を挿入します。データは指定された列にのみ挿入されます - PhoneNumber列に値が指定されていないことに注意してください。ただし、 not nullマークされたすべての列を含める必要があります。

SELECTを使用して別のテーブルのデータをINSERTする

INSERT INTO Customers (FName, LName, PhoneNumber)
SELECT FName, LName, PhoneNumber FROM Employees

この例では、すべての従業員Customersテーブルに挿入されます。 2つのテーブルは異なるフィールドを持ち、すべてのフィールドを移動したくないので、挿入するフィールドと選択するフィールドを設定する必要があります。相関フィールド名は同じものと呼ばれる必要はありませんが、同じデータ型である必要があります。この例では、Idフィールドにアイデンティティ仕様が設定されており、自動的にインクリメントされることを前提としています。

正確に同じフィールド名を持ち、すべてのレコードを移動したいテーブルが2つある場合は、次のようにします。

INSERT INTO Table1
SELECT * FROM Table2

一度に複数の行を挿入する

1つの挿入コマンドで複数の行を挿入することができます。

INSERT INTO tbl_name (field1, field2, field3)

VALUES (1,2,3), (4,5,6), (7,8,9);

大量のデータ(一括挿入)を同時に挿入するには、DBMS固有の機能と推奨事項が必要です。

MySQL - LOAD DATA INFILE

MSSQL - BULK INSERT



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow