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 を使う習慣をつけること。
使用シーン
- 新機能のためのテーブルを設計・作成するとき
- マイグレーションスクリプトでスキーマを管理するとき
- テスト用のデータベースを初期化するとき
- サードパーティのデータをインポートするテーブルを用意するとき
このクエリを実践するには?
このクエリの練習問題はまだ用意されていません。
関連クエリ