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

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

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

※Oracleのようなシノニムはありません。

テーブル

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

テーブルを作成する(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 MODIFY
	id VARCHAR(20)
;

syainテーブルの項目idをvarchar型に変更しています。

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

ALTER TABLE syain ADD
	mail VARCHAR(30)
;

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

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

ALTER TABLE syain DROP
	mail
;

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

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

ALTER TABLE syain 
CHANGE COLUMN name Namae VARCHAR(20);

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

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

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

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

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

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

ALTER TABLE syain MODIFY
	name VARCHAR(20) NULL
;

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

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

ALTER TABLE syain 
RENAME TO 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も作成できます。

ビューを変更する

CREATE OR REPLACE VIEW v_syain AS
	select
		id,
		name,
		romaji
	from
		syain;

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

ビューを削除する

DROP VIEW v_syain;

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

シーケンス

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

シーケンスを作成する

CREATE SEQUENCE syain_id
	START WITH 1
	INCREMENT BY 1;

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

シーケンスの使い方

select nextval(syain_id) --1

select nextval(syain_id) --2

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

シーケンスを削除する

DROP SEQUENCE syain_id;

DROP SEQUENCEを使用します。

関連の記事

MySQL コマンドの一覧

△上に戻る