CREATE TABLE

CREATE TABLEについての詳細な解説と使用例。テーブルの作成方法と制約の指定を学べます。

説明

CREATE TABLE はデータベースに新しいテーブルを定義するためのDDL(データ定義言語)構文です。
列名・データ型・制約(PRIMARY KEY・NOT NULL・UNIQUE・DEFAULT・FOREIGN KEY)を指定してテーブルの構造を決定します。

基本構文
quest.sql
Loading...
例文

メンバーテーブルを作成(主キー・NOT NULL・UNIQUE)

quest.sql
Loading...
— RESULT

クエリを実行してください

レビューテーブルを作成(外部キー制約付き)

quest.sql
Loading...
— RESULT

クエリを実行してください

存在しない場合のみアクセスログテーブルを作成(IF NOT EXISTS)

quest.sql
Loading...
— RESULT

クエリを実行してください

注意点
  • データ型の選択はパフォーマンスに影響する

    INT・VARCHAR・TEXT・TIMESTAMP など適切な型を選ぶことで、ストレージ効率とクエリ速度が変わる。

  • PRIMARY KEY は必ず設定する

    主キーがないと行の一意識別ができず、JOINやUPDATEが困難になる。AUTO_INCREMENTと組み合わせるのが一般的。

  • NOT NULL と DEFAULT の使い分け

    必須項目は NOT NULL で制約し、省略時にデフォルト値を使うなら DEFAULT を組み合わせる。

  • 外部キー制約はデータ整合性を保証する

    FOREIGN KEY を設定すると、参照先に存在しない値は挿入できなくなる。ON DELETE・ON UPDATE の挙動も確認すること。

  • IF NOT EXISTS で冪等なDDLを書ける

    スクリプトやマイグレーションで再実行しても安全にするため、CREATE TABLE IF NOT EXISTS を使う習慣をつけること。

使用シーン
  • 新機能のためのテーブルを設計・作成するとき
  • マイグレーションスクリプトでスキーマを管理するとき
  • テスト用のデータベースを初期化するとき
  • サードパーティのデータをインポートするテーブルを用意するとき
このクエリを実践するには?

このクエリの練習問題はまだ用意されていません。

関連クエリ
QSQL Quest