SQL文では、既存のテーブルに対してINSERT、UPDATE、DELETEなどのステートメントを使用して、テーブルやビューのデータ(レコード)を操作することがほとんどですが、SQLではデータを操作する以外にも、データを定義することができます。
今回は、SQL文を使用してテーブルを作成する方法について紹介したいと思います。
テーブルの作成 CREATE TABLE
テーブルを作成するには、CREATEステートメントを使用します。ちなみにCREATEは作成するという意味になります。
CREATEステートメントでは、続けて作成するオブジェクトの形式(タイプ)を指定します。
テーブルを作成する場合は、「CREATE」と記述した後にスペース文字列(改行等でもOK)を入れて「TABLE」(テーブル)を記述します。
1 |
CREATE TABLE |
「CREATE TABLE」と記述した後には、作成するテーブルの名前を指定します。
「CREATE TABLE」の後にスペース文字列を入れ、テーブルの名前を記述します。
例えばテーブル名が「サンプルテーブル」であれば以下のようになります。
1 |
CREATE TABLE サンプルテーブル |
CREATE TABLE文では、テーブル名の定義の他に作成する列を定義します。
「CREATE TABLE [テーブル名]」を記述した後に、開始括弧の「(」を記述します。
1 2 |
CREATE TABLE テーブル名 ( |
上記の例ではわかりやすいようにテーブル名の後に改行を入れています。
開始括弧を記述したら、続けて列を定義していきます。
列の定義は、列名と列のデータ型(タイプ)を指定します。
列名と列のデータ型は、次のように記述します。
1 |
列名 列の型名 |
例えば数値(intやinteger)の列を作成するのであれば、「列名 int」または「列名 integer」、文字列(varchar)の列を作成擦るのであれば、「列名 varchar(10)」と記述します。
以下にint型の列を作成する場合の例を示します。
1 2 3 |
CREATE TABLE テーブル名 ( 列名 int |
※ 文字列型などのサイズ(桁数)の指定ができる列の場合はデータ型(タイプ)の後に()で囲ってサイズを指定します。
通常テーブルには列が複数ありますので、作成する列の数だけ列を定義していきます。
列を複数定義する際は、列と列の間をカンマ「,」で区切ります。
1 2 3 4 5 |
CREATE TABLE テーブル名 ( 1列目の名前 1列目の型名およびサイズ, 2列目の名前 2列目の型名およびサイズ, 3列目の名前 3列目の型名およびサイズ |
テーブルに作成する列の定義ができたら、最後に終了括弧「)」を記述します。
1 2 3 4 5 6 |
CREATE TABLE テーブル名 ( 1列目の名前 1列目の型名およびサイズ, 2列目の名前 2列目の型名およびサイズ, 3列目の名前 3列目の型名およびサイズ ) |
単純なテーブルの作成例
以下に実際に列のデータ型を指定して簡単なテーブルを作成する例を示します。
ここでは、ユーザーの情報を登録する「ユーザーテーブル」を作成します。
ユーザーテーブルには、ユーザーのIDを登録する「ユーザーID」ユーザーの名前を登録する「ユーザー名」ユーザーのパスワードを登録する「パスワード」の3つの列があるとします。それぞれの列のデータ型は
- 「ユーザーID」: int型
- 「ユーザー名」: varchar型で30桁
- 「パスワード」: varchar型で50桁
とします。
1 2 3 4 5 6 |
CREATE TABLE ユーザー ( ユーザーID int, ユーザー名 varchar(30), パスワード varchar(50) ) |
SQLのCREATE TABLE文を使って基本的なテーブルの作成方法についてご紹介しました。
CREATE TABLE文ではテーブルの作成と同時に、デフォルト値(既定値/初期値)の設定や、プライマリキーなどの制約等を設定することもできます。