サーチ…
構文
- 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