【SQL Server】テーブル作成

SQL Server
この記事は約4分で読めます。

テーブル作成

テーブルを作成する場合は CREATE 文 を使用します。
作成する対象はテーブルなので、CREATE 句 で TABLE を指定します。

基本構文

CREATE TABLE テーブル名(
     カラム名1 データ型,
     カラム名2 データ型, 
     ...
)

CREATE TABLE で重要なのは、テーブルが保有する列の定義を決めてあげる事です。

最もシンプルなテーブルの作り方

CREATE TABLE T1
(
    ID INT
)

テーブル名「T1」
列名「ID」:型はINT

というシンプルな指定です。

列は最低1つは指定する必要があります。

列名の付け方

列名は日本語でもアルファベットでも数字でも使えますが、数字から始まるものはだめです。

CREATE TABLE T1
(
    4ID INT --エラー
)

型の種類

SQL Server で使用出来る型の種類は別でまとめていますが、最初は下記の6種類くらいがわかれば問題ないですし、これ以外が使いたい時にその時に調べれば十分です。

  • 数字のINT
  • 大きな単位の数字のdecimal
  • お金のmoney
  • 日付のdatetime
  • 文字列のvarchar
  • 固定文字のchar

NULL を 許可する or 許可しない

値にNULLを入れる事を許可するかどうかを選べます。

許可しない場合 NOT NULL キーワードを指定します。

なにも指定しない場合は、 NULL を許可しますが、 NULL キーワードを追加することも出来ます。

CREATE TABLE T1
(
	ID   INT NOT NULL,
	NAME INT NULL
)
列:IDにはNULLを許可しない

主キー (PRIMARY KEY) 制約の設定

列に主キー (PRIMARY KEY) を設定することが出来ます。

っというか普通は、テーブルに主キーを指定します。

主キーの役割は、行を一意に保つことと、インデックスとして、データの検索を素早く行うことです。

データ型の後に PRIMARY KEY キーワードを追加することで主キーに指定することが出来ます。

PRIMARY KEY を指定すると自動的にNOT NULL 制約も付いてきます。
CREATE TABLE T1
(
	ID   INT PRIMARY KEY,
	NAME INT NULL
)

外部キー (FOREIGN KEY) 制約の設定

外部キー (FOREIGN KEY) に設定する場合、データ型の後に REFERENCES キーワードを追加して参照元を指定します。

CREATE TABLE [dbo].[M1](
	[Id] INT PRIMARY KEY,
	[Name] NVARCHAR(20) ,
)
GO

CREATE TABLE [dbo].[T1](
	[Id] INT REFERENCES [M1]([Id]),
	[Name] NVARCHAR(20) ,
)

REFERENCES(リファレンス) は 「参照」という意味です。参照元のデータはユニークであるひつようがあります。ユニークでないデータをしていするとエラーになります。

メッセージ 1776、レベル 16、状態 0、行 9
参照先テーブル ‘〇〇〇〇’ に主キーと候補キーがありません。この参照先テーブルは、外部キー ‘FK__XXXXXXXXXXXX’ の参照元列リストと一致しています。

 

デフォルト (DEFAULT) の設定

レコードが生成される時に値が指定されなかった際のデフォルトの値を設定できます。

CREATE TABLE [dbo].[T1](
	[Id] INT ,
	[Name] NVARCHAR(20) DEFAULT ('りんご'),
)

 

自動連番 (IDENTITY) の設定

レコードが生成されるたびに連番が自動で設定されます。主キーに設定することで、一意性が保たれます。IDENTITY(開始番号,ステップ数)で指定します。開始番号と、ステップ数を指定しないと1を設定した時と同じになります。

例えば、下記のサンプルテーブルでは、Id が偶数のレコードしか作成されません。

CREATE TABLE [dbo].[T1](
	[Id] INT IDENTITY(2,2) ,
	[Name] NVARCHAR(20) NOT NULL,
)

 

コメント

タイトルとURLをコピーしました