🐾

DBテーブルの作成(CREATEステートメント)

2024/05/23に公開

はじめに

SQL Server Management Studio(SSMS)からテーブルを作成することはできますが、複数名での共同作業の場合にはCREATEステートメントを使用する方が良いでしょう。
ここではCREATEステートメントを使用したDBテーブルの作成を解説します。

CREATEステートメント構文

PK(主キー)は必ず not null です。
デフォルト値を指定している場合は、[default {デフォルト値}] を記載します。

  1. PK(主キー)が一つだけの場合
create table {テーブル名} (
 {カラム名1} {データ型} not null primary key
,{カラム名2} {データ型} {not null または null} (デフォルト値をしている場合{default {デフォルト値}})
,{カラム名3} {データ型} {not null または null} (デフォルト値をしている場合{default {デフォルト値}})
(以下同様)
);
  1. PK(主キー)が複数の場合
create table {テーブル名} (
 {カラム名1} {データ型} not null
,{カラム名2} {データ型} {not null または null} (デフォルト値をしている場合{default {デフォルト値}})
,{カラム名3} {データ型} {not null または null} (デフォルト値をしている場合{default {デフォルト値}})
,{カラム名4} {データ型} not null
,{カラム名5} {データ型} not null
(以下同様)
,primary key({カラム名1}, {カラム名4}, {カラム名5})
);

郵便番号マスターテーブルのCREATE文を作成する

DBテーブル設計書の作成(テンプレート)で作成したDBテーブル設計書をもとにCREATE文を作成してみましょう。

m_zipcode.sql
create table m_zipcode(
 local_gov_code char(5) not null
,zipcode_old char(5) not null default ('')
,zipcode char(7) not null
,prefec_name varchar(32) not null default ('')
,city_name varchar(80) not null default ('')
,town_name varchar(80) not null default ('')
,prefec_name_kanji varchar(20) not null default ('')
,city_name_kanji varchar(64) not null default ('')
,town_name_kanji varchar(64) not null default ('')
,town_dbl_flg integer not null default (99)
,koaza_flg integer not null default (99)
,city_block_flg integer not null default (99)
,city_dbl_flg integer not null default (99)
,update_flg integer not null default (99)
,change_flg integer not null default (99)
,primary key(local_gov_code, zipcode)
);

SQL Server Management Studio(SSMS)を使用してテーブルを作成する

  1. [新しいクエリ] をクリックしてください。

  2. データベースを対象のデータベースに変更してください。

  3. CREATE文を入力した後、[実行] をクリックしてください。

  4. テーブルの作成が正常に完了したことを確認してください。

  5. オブジェクトエクスプローラーの [データベース] を展開、さらに対象のデータベースを展開して、テーブルが追加されていることを確認してください。

Discussion