SQL Server DDL文でtable,view等を作成するサンプル

SQL Serverのtable,view等を作成するDDL文のサンプルです。
DDLとは、Data Definition Languageの略でデータを定義する言語です。

テーブル テーブルを作成する(create table)
  テーブルの項目の属性を変更する(alter table)
  テーブルに項目を追加する(alter table)
  テーブルの項目を削除する(alter table)
  テーブルの項目名を変更する(sp_rename)
  テーブルの項目をNOT NULLにする(alter table)
  テーブルの項目をNULL可能にする(alter table)
  テーブル名を変更する(sp_rename)
  テーブルを削除する(drop table)
ビュー ビューを作成する
  ビューを変更する
  ビューを削除する
シーケンス シーケンスを作成する
  シーケンスの使い方
  シーケンスを削除する

テーブル

テーブル関連のサンプルです。

テーブルを作成する(create table)

CREATE TABLE syain(
	id INT,
	name VARCHAR(20) not null,
	romaji VARCHAR(20),
	primary key(id)
);

2行目は、整数型のINT型を指定しています。
3行目は、not null制約をつけています。
5行目は、プライマリーキーを指定しています。2行目のidを指しています。

テーブルの項目の属性を変更する(alter table)

ALTER TABLE syain ALTER COLUMN
	name VARCHAR(40)
;

syainテーブルの項目nameの桁数を40に変更しています。

テーブルに項目を追加する(alter table)

ALTER TABLE syain ADD
	mail VARCHAR(30)
;

テーブルの最後尾に項目mailが追加されます。

テーブルの項目を削除する(alter table)

ALTER TABLE syain DROP COLUMN
	mail
;

テーブルの項目mailを削除しています。桁数の指定は不要です。

テーブルの項目名を変更する(sp_rename)

EXEC sp_rename 'syain.name','Namae';

テーブルの項目名のnameをNamaeに変更しています。
alter tableではなく、T-SQLで実行します。

テーブルの項目をNOT NULLにする(alter table)

テーブルの項目名のnameをNOT NULLに変更しています。

ALTER TABLE syain 
ALTER COLUMN name VARCHAR(20) NOT NULL;

テーブルの項目名のnameをNOT NULLに変更しています。
データ型を記述する必要があります。

テーブルの項目をNULL可能にする(alter table)

ALTER TABLE syain 
ALTER COLUMN name VARCHAR(20) NULL;

テーブルの項目名のnameをNULLに変更しています。
データ型を記述する必要があります。

テーブル名を変更する(sp_rename)

EXEC sp_rename 'syain','syain2';

テーブル名のsyainをsyain2に変更しています。

テーブルを削除する(drop table)

drop table syain;

drop tableを使用します。項目の指定は不要です。

ビュー

ビューは、sqlで仮想の表を作成します。

ビューを作成する

CREATE VIEW v_syain AS
	select
		id,
		name
	from
		syain;

2~6行目は、select文でsyainテーブルからビューを作成しています。
select文なので複数のテーブルを結合したsqlも作成できます。

ビューを変更する

ALTER VIEW v_syain AS
	select
		id,
		name,
		romaji
	from
		syain;

1行目は、ALTER VIEWにします。
5行目は、viewに項目romajiを追加しています。

ビューを削除する

DROP VIEW v_syain;

drop viewを使用します。項目の指定は不要です。

シーケンス

シーケンスは、順序とも呼ばれます。指定した値の増分を取得できます。

シーケンスを作成する

CREATE SEQUENCE syain_id
	START WITH 1
	INCREMENT BY 1;

2行目は、最初は1から始まると指定しています。
3行目は、増分です。1ずつ増えます。

シーケンスの使い方

select NEXT VALUE FOR syain_id --1

select NEXT VALUE FOR syain_id --2

1行目は、NEXT VALUE FORで次の値を取得します。再度、NEXT VALUE FORを使用すると設定した増分で2になります。

シーケンスを削除する

DROP SEQUENCE syain_id;

DROP SEQUENCEを使用します。

関連の記事

Oracle DDL文で作成するサンプル

△上に戻る