CREATE TABLE の使い方

表を作る

書き方

CREATE TABLE 表 (列 型 [制約], …);

型は INTEGER・VARCHAR(n)・NUMERIC(p,s)・DATE・BOOLEAN など。CREATE TABLE … AS SELECT で結果から作ることもできます。

よく使うオプション

オプション意味
INTEGER / BIGINT整数
VARCHAR(n) / TEXT文字列(n 文字まで / 長さの決まり無し)
NUMERIC(p, s)けたの決まった数(お金など。全体 p けた、小数 s けた)
DATE / TIMESTAMP日付 / 日時
BOOLEAN真か偽か
IF NOT EXISTS同じ名前の表があれば何もしない(PostgreSQL・MySQL)

例

CREATE TABLE products (
  id INTEGER PRIMARY KEY,
  name VARCHAR(100) NOT NULL,
  price NUMERIC(10, 0) DEFAULT 0,
  released_on DATE
);CREATE TABLE

商品の表を作ります。列ごとに名前・型・決まり(制約)を書きます。

CREATE TABLE IF NOT EXISTS memos (id INTEGER PRIMARY KEY, body TEXT);

memos が無いときだけ作ります。何度流しても失敗しない形です。

CREATE TABLE big_orders AS SELECT * FROM orders WHERE total >= 50000;SELECT 18

問い合わせの結果から、新しい表を作ります。中身も一緒に写されます。

よくある間違い・注意

  • CREATE TABLE … AS SELECT で作った表には、元の表の主キーや制約は写されません。
  • お金のような値には、誤差の出る REAL や DOUBLE PRECISION ではなく NUMERIC を使います。
  • 型の名前はデータベースで違うことがあります(Oracle は VARCHAR2・NUMBER をよく使います)。

実際に打って練習する

SQL コースの Lv41「表を作る CREATE TABLE」で覚えます。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

Lv1〜3 は、登録不要・無料で遊べます(それより先はブロンズ以上のプランで遊べます)。

SQL 構文一覧(使い方と例)へ戻る