【PostgreSQL】クエリガイド SELECT、UPDATE、DELETE文

この記事では、PostgreSQLのデータベース操作を学びたい方向けに基本的なクエリ文の作成方法について解説します。

1. SELECT文の作成

SELECT文は、データベースからデータを取得するために使用されます。基本構文は次の通りです。

SELECT カラム名 FROM テーブル名;

usersテーブルを例にクエリを見てみましょう。
下の表はusersテーブルの内容になります。

usersテーブルからすべてのユーザ名とメールアドレスを取得するクエリは以下のようになります。

SELECT name, email FROM users;

WHERE句を使用して条件を指定する

特定の条件に合致するデータだけを取得するには、WHERE句を使用します。

usersテーブルでage(年齢)が18歳以上の人を取得したい場合は、下記のようなクエリになります。

SELECT name, email FROM users WHERE age > 18;

ORDER BY句を使ったソート

結果を特定の順序で表示したい場合は、ORDER BYを使用します。

usersテーブルでage(年齢)の降順に並び替えた一覧を取得したい場合、下記のようなクエリを書きます。

SELECT name, email FROM users ORDER BY age DESC;

2. UPDATE文の作成

UPDATE文は、既存のレコードを更新するために使用されます。基本構文は以下の通りです。

UPDATE テーブル名 SET カラム名 = 新しい値 WHERE 条件;

usersテーブルのemail(メールアドレス)の値を更新してみましょう。

UPDATE users SET email = 'newemail@example.com' WHERE name = 'john_doe';

上記のクエリで、john doeのメールアドレスがjohn_doe@example.comからnewemail@example.comに変わったはずです。

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

UPDATE users SET email = 'newemail@example.com', age = 30 WHERE name = 'john_doe';

UPDATE文を実行する際の注意

UPDATE文を実行するときは、WHERE句で更新対象を抽出して実行するようにしましょう。
指定していない状態で実行してしまうと、テーブル内のすべてのレコードが更新されてしまうので注意です。UPDATEはDELETEと同じくらい危険なのです。

3. DELETE文の作成

DELETE文は、テーブルからレコードを削除するために使用されます。基本構文は次の通りです。

DELETE FROM テーブル名 WHERE 条件;

usersテーブルからname(ユーザ名)がjohn_doeのユーザを削除してみましょう。

DELETE FROM users WHERE name = 'john_doe';

実行後、john_doeが削除されていることが確認できます。

全レコードの削除

条件を指定しない場合、テーブル内のすべてのレコードが削除されます。

DELETE FROM users;

ただし、これは非常に危険な操作なので、実行前に十分注意してください。

DELETE文を実行する際の注意点

DELETE文はレコードを削除する操作なので、十分注意しましょう。使用する際、UPDATE文と同様に影響を受けるレコードを必ず確認するようにしてください。
実行前にバックアップをとることも大切です。

最後に

以上が、PostgreSQLの基本的なクエリ操作のガイドです。データの取得、更新、削除を適切に使い分けて、効率的なデータベース操作を行いましょう。

コメント