ここではMySQLで、テーブルを作成・変更・削除するSQLを紹介しています。
テーブルを作成するSQL
テーブルの作成はCREATE TABLE文を使います。
テーブルの名前は大文字と小文字を区別します。
CREATE TABLE文の基本構文
CREATE TABLE文の基本構文は次の通りです。
CREATE TABLE [IF NOT EXISTS] テーブル名(
列名 データの型
[,列名 データの型]
)
;
CREATE TABLE文を使ったSQLサンプル
CREATE TABLE文のサンプルです。
次のSQLでは、TAB1というCOL1~3のカラムを持ったテーブルをTBS1という表領域に作成しました。
CREATE TABLE tab1(
col1 int
,col2 varchar(10)
,col3 date
);
テーブルを変更するSQL
ALTER文を使うことで、テーブルを変更することが出来ます。
テーブル名の変更
テーブル名を変更するにはALTER TABLE~RENAME文を使います。
ALTER TABLE~RENAME文の基本的な使い方は次の通りです。
ALTER TABLE テーブル名 RENAME 新テーブル名;
実行すると次のようになります。
mysql> ALTER TABLE tab1 RENAME tab7;
Query OK, 0 rows affected (0.05 sec)
テーブル名を変更するにはRENAME TABLE文を使うこともできます。
RENAME TABLE文の基本的な使い方は次の通りです。
RENAME TABLE テーブル名1 TO 新テーブル名1
[,テーブル名2 TO 新テーブル名2・・・];
実行すると次のようになります。
mysql> RENAME TABLE tab1 TO new_tab1,tab2 TO new_tab2;
Query OK, 0 rows affected (0.06 sec)
列の追加
ALTER TABLE テーブル名
ADD COLUMN 列名 データ型 列の制約;
次のSQLでは、TAB1テーブルにCOL4列を文字列型、NOTNULL制約付きで追加しています。
ALTER TABLE tab1
ADD COLUMN col4 varchar(10) NOT NULL;
テーブルを削除するSQL
DROP文を使うことでテーブルを削除することが出来ます。
DROP TABLE [IF EXISTS] テーブル名1[,テーブル名2・・・];
次のようにテーブル名を指定することでテーブルを削除します。
DROP TABLE tab1;
存在しないテーブルを削除してもエラーを返さない
IF EXISTSを指定すると、存在しないテーブルを削除しようとしてもエラーを返さず正常終了となります。
DROP TABLE IF EXISTS tab1;
複数のテーブルを一括削除するSQL
次のように、テーブル名を列挙することで複数のテーブルを一括で削除することが出来ます。
DROP TABLE tab1,tab2;