PostgreSQL INSERT: テーブルへのデータの挿入
PostgreSQL INSERT ステートメント
In PostgreSQL、insert ステートメントは、テーブルに新しい行を挿入するのに役立ちます。値式で指定した行、ゼロ行、またはクエリの結果として得られる複数の行を挿入できます。
の構文 PostgreSQL INSERT INTO
INSERT INTO TABLE_NAME (column1, column2, ...columnN) VALUES (value1, value2,...valueN);
上記の構文で、列 1 ~ N が、データを挿入するテーブル内の列の名前であることがわかります。 ターゲット列は、特定の順序でリストする必要があります。 クエリまたは値句によって指定される値は、列に対応する値のいずれかです。
クエリが実行されると、出力メッセージが表示されます。
Insert oid 1
この出力メッセージは、1 行のみが挿入された場合に表示されます。oid は、挿入された行に割り当てられた数値 OID です。
の例 PostgreSQL 表に挿入
2 つの列を持つ次の表「チュートリアル」を検討してください。
「id」整数 デフォルト値 1
「tutorial_name」テキスト DEFAULT 値 postgre
そして制約はありません
ここでは、次の手順を示します PostgreSQL テーブルに挿入:
ステップ1) 行を挿入する
INSERT INTO tutorials(id, tutorial_name) VALUES (1, 'postgre');
注意: 行を挿入するときに一重引用符で囲む必要があるのは、文字または日付値のみです。
ステップ2) ただし、すべての列にデータを挿入する場合は、列名を省略できます。 同じ挿入ステートメントは次のように書くこともできます。
INSERT INTO tutorials VALUES (1, 'postgre');
ステップ3) データ値は、テーブルに列が表示される順序でカンマで区切られてリストされます。
上記の構文には、テーブル内の列の順序を知る必要があるという問題があります。 この問題を解決するには、列を明示的にリストすることもできます。
たとえば、以下に示す 2 つのコマンドは、以下に示すように同じ効果があります。
INSERT INTO tutorials(id, tutorial_name) VALUES (1, 'postgre'); INSERT INTO tutorials(tutorial_name, id) VALUES ('postgre',1);
ステップ4) この例では、すべての列に値がない場合は、一部の列を省略できることがわかります。
その場合、指定されていれば、列にはデフォルト値が自動的に入力されます。
INSERT INTO tutorials(id) VALUES (5);
ステップ5) 個々の列または行全体のデフォルト値をリクエストすることもできます。
INSERT INTO tutorials(id, tutorial_name) VALUES (1, DEFAULT); INSERT INTO tutorials DEFAULT VALUES;
ステップ6) 単一のコマンドで複数の行を作成できます。
INSERT INTO tutorials(id, tutorial_name) VALUES (1, 'postgre'), (2, 'oracle'), (3, 'mysql'), (4, 'mongo');
ステップ7) In PostgreSQL、行がないか、XNUMX 行、または複数行である可能性のあるクエリの結果を挿入することもできます。
INSERT INTO tutorials (id, tutorial_name) SELECT id, tutorial_name FROM tutorials WHERE tutorial_name = 'mysql';
PostgreSQL pgAdmin を使用してステートメントを挿入
ここでは、ステートメントを挿入する手順を示します。 Postgre SQL の pgAdmin
ステップ1) オブジェクトツリー内
- データを挿入したいテーブルを右クリックします
- スクリプトの選択
- スクリプトの挿入
ステップ2) 挿入パネル内
- クエリを編集する
- 照明ボタンをクリックします
- 出力を観察する
ステップ3) [ツール] > [クエリ ツール] に移動してクエリ エディターを開くこともできますが、デフォルトの挿入クエリは表示されません。
まとめ
コード/パラメータ/ヒント | 説明 |
---|---|
INSERT INTO TABLE_NAME (column1、column2、…columnN) VALUES (値1、値2、…値N); |
テーブルに値を挿入するために使用されます |
INSERT INTO チュートリアル(id,tutorial_name) VALUES(1, 'postgre'); INSERT INTO チュートリアル(tutorial_name, id) VALUES ('postgre',1); |
列の順序は重要ではありません。 どちらも同じ効果になります。 |
INSERT INTO チュートリアル VALUES (1, 'postgre'); | すべての列に値を指定する場合は、指定する必要はありません。 |
INSERT INTO チュートリアル (id,tutorial_name) チュートリアルから ID、チュートリアル名を選択します ここで、tutorial_name = 'mysql'; |
INSERT クエリでは、名前で参照される単一または複数のサブクエリを指定できます。 |
デフォルト値 | この句を使用して、すべての列にデフォルト値を入力します。 |
表現 | 対応する列に割り当てる必要がある値と式。 |
オメデフォルト | デフォルト句は、対応する列にデフォルト値が入力される場合に使用されます。 |