データベースのテーブルを作成するSQL CREATE TABLE

SQL文では、既存のテーブルに対してINSERT、UPDATE、DELETEなどのステートメントを使用して、テーブルやビューのデータ(レコード)を操作することがほとんどですが、SQLではデータを操作する以外にも、データを定義することができます。

今回は、SQL文を使用してテーブルを作成する方法について紹介したいと思います。

テーブルの作成 CREATE TABLE

テーブルを作成するには、CREATEステートメントを使用します。ちなみにCREATEは作成するという意味になります。
CREATEステートメントでは、続けて作成するオブジェクトの形式(タイプ)を指定します。
テーブルを作成する場合は、「CREATE」と記述した後にスペース文字列(改行等でもOK)を入れて「TABLE」(テーブル)を記述します。

「CREATE TABLE」と記述した後には、作成するテーブルの名前を指定します。
「CREATE TABLE」の後にスペース文字列を入れ、テーブルの名前を記述します。
例えばテーブル名が「サンプルテーブル」であれば以下のようになります。

CREATE TABLE文では、テーブル名の定義の他に作成する列を定義します。
「CREATE TABLE [テーブル名]」を記述した後に、開始括弧の「(」を記述します。

上記の例ではわかりやすいようにテーブル名の後に改行を入れています。

開始括弧を記述したら、続けて列を定義していきます。
列の定義は、列名と列のデータ型(タイプ)を指定します。

列名と列のデータ型は、次のように記述します。

例えば数値(intやinteger)の列を作成するのであれば、「列名 int」または「列名 integer」、文字列(varchar)の列を作成擦るのであれば、「列名 varchar(10)」と記述します。

以下にint型の列を作成する場合の例を示します。

※ 文字列型などのサイズ(桁数)の指定ができる列の場合はデータ型(タイプ)の後に()で囲ってサイズを指定します。

通常テーブルには列が複数ありますので、作成する列の数だけ列を定義していきます。
列を複数定義する際は、列と列の間をカンマ「,」で区切ります。

テーブルに作成する列の定義ができたら、最後に終了括弧「)」を記述します。

単純なテーブルの作成例

以下に実際に列のデータ型を指定して簡単なテーブルを作成する例を示します。
ここでは、ユーザーの情報を登録する「ユーザーテーブル」を作成します。
ユーザーテーブルには、ユーザーのIDを登録する「ユーザーID」ユーザーの名前を登録する「ユーザー名」ユーザーのパスワードを登録する「パスワード」の3つの列があるとします。それぞれの列のデータ型は

  • 「ユーザーID」: int型
  • 「ユーザー名」: varchar型で30桁
  • 「パスワード」: varchar型で50桁

とします。

SQLのCREATE TABLE文を使って基本的なテーブルの作成方法についてご紹介しました。
CREATE TABLE文ではテーブルの作成と同時に、デフォルト値(既定値/初期値)の設定や、プライマリキーなどの制約等を設定することもできます。

SQLのCREATE TABLEでテーブルの列にデフォルト値(DEFAULT)を設定する
SQLを使ってデータベースにテーブルを作成するには、CREATE TABLE文を使います。 CREATE TABLE文では、テ...