【PostgreSQL】テーブルを作成・削除する方法を解説!

スポンサーリンク

PostgreSQLを使用する際、データを保存するためにはテーブルを作成する必要があります。また、不要になったテーブルを適切に削除することも重要です。

本記事では、PostgreSQLでのテーブルの作成方法と削除方法について、基本的な構文から実践的な例まで詳しく解説します。初心者の方でも理解しやすいように、ポイントを押さえながら説明していきますので、ぜひ参考にしてください!

テーブルを作成する方法

PostgreSQLでデータを管理するためには、まずテーブルを作成する必要があります。ここでは、テーブルを作成する基本的な方法から、実践的な例までを解説します。

CREATE TABLEの基本構文

テーブルを作成するには、CREATE TABLE文を使用します。基本的な構文は以下のとおりです。

CREATE TABLE テーブル名 (
    カラム名 データ型 制約,
    カラム名 データ型 制約,
    ...
);
  • テーブル名:作成するテーブルの名前
  • カラム名:データを格納する各列の名前
  • データ型:各カラムに格納できるデータの種類(例:整数、文字列、日付など)
  • 制約(オプション):PRIMARY KEYNOT NULLなどの制約を指定可能

実践例

例えば、ユーザー情報を管理するusersテーブルを作成する場合、以下のSQLを実行します。

CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    email VARCHAR(255) UNIQUE NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

上記SQLに記載されているものも含め、テーブル作成時に使用される主なオプションは下記のようになります。

オプション説明
PRIMARY KEYテーブルの主キーを指定
UNIQUE一意制約を設定(重複不可)
NOT NULLNULLを許可しない
DEFAULTデフォルト値を設定
CHECK条件を満たすデータのみ許可
FOREIGN KEY他のテーブルのキーを参照する

既存テーブルの確認

作成したテーブルが正しく存在するかを確認するには、以下のSQLを実行します。

SELECT * FROM pg_tables WHERE schemaname = 'public';

このクエリを実行すると、publicスキーマ内のすべてのテーブルが一覧表示されます。

テーブルを削除する方法

不要になったテーブルを削除するには、DROP TABLE 文を使用します。ここでは、基本的な削除方法から注意点までを解説します。

DROP TABLEの基本構文

テーブルを削除するには、以下のSQLを実行します。

DROP TABLE テーブル名;

このコマンドを実行すると、指定したテーブルがデータごと完全に削除されます。削除後に復元することはできないため、実行前に注意が必要です。

テーブルを削除する実践例

例えば、usersテーブルを削除する場合、以下のSQLを実行します。

DROP TABLE users;

このコマンドを実行すると、usersテーブルがデータごと削除されます。

存在しないテーブルを削除するときの注意点

削除対象のテーブルが存在しない場合、DROP TABLE をそのまま実行するとエラーが発生します。これを回避するには、IF EXISTS オプションを使用すると便利です。

DROP TABLE IF EXISTS users;

このように記述すると、usersテーブルが存在しない場合でもエラーにならずに処理が完了します。

トランザクションを活用したテーブル削除の取り消し

もし誤ってDROP TABLEを実行してしまった場合に備えて、トランザクションを活用すると安全です。
BEGINROLLBACKを使用すると、削除処理を取り消すことができます。

BEGIN;

DROP TABLE users;

ROLLBACK; -- ここで削除を取り消す

COMMIT;を実行するまでは削除が確定しないため、安全に操作できます。

まとめ

本記事では、PostgreSQLにおけるテーブルの作成方法と削除方法について解説しました。

✅ テーブルの作成

  • CREATE TABLE 文を使用してテーブルを作成
  • PRIMARY KEYUNIQUENOT NULL などの制約を設定可能
  • SERIAL を使用すると自動採番の主キーを作成できる
  • DEFAULT で初期値を設定可能

✅ テーブルの削除

  • DROP TABLE 文を使用してテーブルを削除
  • IF EXISTS を使うと、存在しないテーブルを削除してもエラーにならない
  • CASCADE を指定すると、依存関係のあるテーブルもまとめて削除可能
  • トランザクションを活用すると、誤った削除を取り消せる

テーブルの作成と削除は、PostgreSQLを運用する上で基本となる操作です。適切な構造でテーブルを設計し、安全に管理できるようにしていきましょう!

コメント