PostgreSQLでのデータ操作

PostgreSQLでのデータ操作

参照(SELECT)

SELECT文は、データベースからデータを取得するために使用されます。最も基本的な形では、特定のテーブルからすべてのデータを取得することができます。

例:
SELECT * FROM employees;
このSQLは、employeesというテーブルからすべての列と行を取得します。

特定のカラムだけを選択することもできます。例えば、employeesテーブルから名前と年齢だけを取得したい場合は次のように書きます。

例:
SELECT name, age FROM employees;
これにより、employeesテーブルの中でnameageカラムのみが返されます。

さらに、条件を指定して絞り込むこともできます。WHERE句を使って、特定の条件に一致する行だけを取得することができます。

例:
SELECT name, age FROM employees WHERE age > 30;
このSQLは、年齢が30歳より大きい従業員の名前と年齢を返します。

挿入(INSERT)

INSERT文は、テーブルに新しいデータを追加するために使用されます。

例:
INSERT INTO employees (name, age) VALUES ('John Doe', 28);
このSQLは、employeesテーブルに新しい行を挿入します。名前が「John Doe」、年齢が28歳の従業員を追加します。

複数の行を一度に挿入することも可能です。

例:
INSERT INTO employees (name, age) VALUES ('Alice', 34), ('Bob', 45);
このSQLは、employeesテーブルに2人の従業員を同時に追加します。

更新(UPDATE)

UPDATE文は、テーブル内の既存のデータを更新するために使用されます。

例:
UPDATE employees SET age = 29 WHERE name = 'John Doe';
このSQLは、名前が「John Doe」の従業員の年齢を29歳に更新します。

複数のカラムを一度に更新することもできます。

例:
UPDATE employees SET age = 30, name = 'Jane Doe' WHERE name = 'John Doe';
これにより、「John Doe」という名前の従業員の名前を「Jane Doe」に、年齢を30歳に更新します。

注意点として、WHERE句を忘れると、すべての行が更新されてしまうので慎重に使用してください。

削除(DELETE)

DELETE文は、テーブルからデータを削除するために使用されます。

例:
DELETE FROM employees WHERE name = 'John Doe';
このSQLは、名前が「John Doe」の従業員をemployeesテーブルから削除します。

WHERE句を使わずにDELETE文を実行すると、テーブル内のすべてのデータが削除されてしまうので注意が必要です。

例:
DELETE FROM employees;
このSQLは、employeesテーブル内のすべての行を削除します。

あれば更新・なければ挿入(UPSERT)

UPSERTは、指定したデータがすでに存在する場合には更新し、存在しない場合には新しいデータを挿入する操作です。PostgreSQLでは、INSERT ... ON CONFLICT構文を使用して実現します。

例:
INSERT INTO employees (name, age) VALUES ('John Doe', 28) ON CONFLICT (name) DO UPDATE SET age = 29;
このSQLは、名前が「John Doe」の従業員がすでに存在する場合、その従業員の年齢を29歳に更新します。存在しない場合は新しく挿入されます。

指定した列(この場合はname)が重複した場合に実行される処理をDO UPDATEで指定します。

例:
INSERT INTO employees (name, age) VALUES ('Alice', 34) ON CONFLICT (name) DO NOTHING;
これは、名前が「Alice」の従業員がすでに存在する場合は何もしません。

コメントは受け付けていません。