この記事には、基本的なSQL INSERT
が含まれています 初心者がデータベーステーブルにデータを挿入するために使用できるステートメント。
基本構文
SQLにデータを挿入するための基本的な構文は、次のようになります。
INSERT INTO TableName (Column1, Column2, Column3, ...)
VALUES (Value1, Value2, Value3, ...);
場所:
-
TableName
データを挿入するテーブルの名前です -
Column1
、などは、データを挿入する列の名前です -
Value1
、などは、これらの列に挿入する値です。これらの値の順序は、列をリストした順序と一致する必要があります(つまり、Value1
Column1
に入ります など)。
すべての列に値を挿入する場合は、列名を省略できます。その場合、次の構文を使用できます。
INSERT INTO TableName
VALUES (Value1, Value2, Value3, ...);
一部のDBMSは、これよりも複雑な構文を使用します(つまり、より多くのオプションを提供します)が、これは通常、データをテーブルに挿入するために必要な基本的な構文です。
すべての列に挿入
テーブルのすべての列にデータを挿入する基本的な例を次に示します。
INSERT INTO PetTypes
VALUES( 1, 'Bird' );
この場合、PetTypes
には2つの列があります テーブルであり、両方の列に値を挿入するため、列名を指定する必要はありません。
上記のステートメントは、これを行うのと同じです:
INSERT INTO PetTypes( PetTypeId, PetType )
VALUES( 1, 'Bird' );
SELECT
を実行すると、データを確認できます。 ステートメント。
SELECT * FROM PetTypes;
結果:
+-------------+-----------+ | PetTypeId | PetType | |-------------+-----------| | 1 | Bird | +-------------+-----------+
いくつかの列に挿入
テーブルの一部の列にデータを挿入する基本的な例を次に示します。
INSERT INTO Users( UserId, FirstName, LastName )
VALUES( 1, 'Lansell', 'Letterman' );
このテーブルには実際には4つの列がありますが、これらの列のうち3つにのみデータを挿入します。 SELECT
を実行するとわかります データを挿入した後のテーブルに対するステートメント。
SELECT * FROM Users;
結果:
+----------+-------------+------------+-----------------------------+ | UserId | FirstName | LastName | DateInserted | |----------+-------------+------------+-----------------------------| | 1 | Lansell | Letterman | 2020-11-21 05:18:50.0029455 | +----------+-------------+------------+-----------------------------+
間違った順序で値を挿入する方法
列リストメソッドを使用すると、同じ順序ではないデータを挿入できます。
INSERT INTO Users( LastName, FirstName, UserId )
VALUES( 'Pitt', 'Bart', 2 );
この例では、列の順序とそれぞれの値を再配置しました。幸い、列リストは、各値を挿入する場所に関するガイダンスをDBMSに提供します。
したがって、データを選択すると、正しい列に挿入されていることがわかります。
SELECT * FROM Users;
結果:
+----------+-------------+------------+-----------------------------+ | UserId | FirstName | LastName | DateInserted | |----------+-------------+------------+-----------------------------| | 1 | Lansell | Letterman | 2020-11-21 05:18:50.0029455 | | 2 | Bart | Pitt | 2020-11-21 05:30:07.4456867 | +----------+-------------+------------+-----------------------------+
クエリの結果を挿入
クエリの結果セットをテーブルに挿入することもできます。これで取ることができるいくつかのアプローチがあります。
-
INSERT INTO... SELECT
を使用します 声明。この場合、クエリ結果セットをテーブルに挿入する前に、まずテーブルを作成する必要があります。 - CREATETABLE…ASSELECTステートメントを使用します。このメソッドは、クエリの結果セットに基づいて新しいテーブルを自動的に作成し、それらの結果をテーブルに挿入します。このメソッドはSQL標準に準拠していますが、すべてのDBMSでサポートされているわけではありません。
-
SELECT INTO
を使用します 声明。これは前のオプションと同様です。クエリの結果セットに基づいて新しいテーブルが自動的に作成され、それらの結果がテーブルに挿入されます。前のメソッドの場合(CREATE TABLE ... AS SELECT
)DBMSでサポートされていない場合は、この方法を試してください。