EnterpriseZine(エンタープライズジン)

EnterpriseZine(エンタープライズジン)

テーマ別に探す

第8回 MySQL事始 SQL文(5) DDL

edited by DB Online   2011/10/21 00:00

DDL(Data Definition Language)とは、データ定義言語と呼ばれ、データベース内の表、ビューやインデックスなどの各種オブジェクトの作成や変更をするためのSQL文です。

 DDL(Data Definition Language)とは、データ定義言語と呼ばれ、データベース内の表、ビューやインデックスなどの各種オブジェクトの作成や変更をするためのSQL文です。DDLとされるコマンドは以下の4つです。

CREATE 新しいデータベースオブジェクトの作成
DROP 既存のデータベースオブジェクトの削除
ALTER 既存のデータベースオブジェクトの変更
TRUNCATE テーブル内のデータ全体の削除

 全ての操作の実行中、他のトランザクションやコネクションは操作中のテーブルなどにはアクセスができなくなります。

データベースの作成

 CREATE DATABASE文は新しいデータベースオブジェクトを作成します。構文は以下の通りです。主なオプションのみ記載します。参考:第3回

CREATE DATABASE データベース名
  [CHARACTER SET = 文字コード名, COLLATION = COLLATION名];
	※ []は必須ではないオプションです

データベースの削除

 DROP DATABASE文は既存のデータベース全体を削除します。データベース内のテーブルのデータ自動的に削除されます。構文は以下の通りです。

DROP DATABASE データベース名

指定可能なオプションはありません。また、DROP DATABASE文で削除されたデータベースやテーブルを自動的に復旧する方法はないので実行には注意が必要です。

データベースの変更

ALTER DATABASE文は既存のデータベースを変更します。ただし、変更できるのはデフォルトの文字コードとCOLLATION名だけです。また、変更以前から存在するテーブルや列などには影響しません。変更後に作成したテーブルには、特に指定が無ければここで設定した文字コードなどが使用されます。

ALTER DATABASE データベース名
  [CHARACTER SET = 文字コード名, COLLATION = COLLATION名];

テーブルの作成<

 テーブルを作成するCREATE TABLEの構文は以下の通りです。主なオプションのみ記載します。

CREATE TABLE テーブル名
(列の定義, [インデックス]) [テーブルオプション]

具体的な構文は、第3回で登録したサンプルデータベースを利用しながら解説します。strong>SHOW CREATE TABLE文を実行すると、既存のテーブルの定義が確認できます。インデックスの概要は第3回(リンク)で解説しています。

mysql> SHOW CREATE TABLE City\G
*************************** 1. row ***************************
       Table: City
Create Table: CREATE TABLE `City` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `Name` char(35) NOT NULL DEFAULT '',
  `CountryCode` char(3) NOT NULL DEFAULT '',
  `District` char(20) NOT NULL DEFAULT '',
  `Population` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`ID`)
) ENGINE=MyISAM AUTO_INCREMENT=4080 DEFAULT CHARSET=latin1
1 row in set (0.00 sec)


著者プロフィール

  • 梶山隆輔(カジヤマリュウスケ)

    日本オラクル株式会社 MySQL Global Business Unit Asia Pacific & Japan担当 MySQL Principal Sales Consultant オラクル社において、MySQLのお客様環境への導入支援や製品の技術解説を担当するセールスコンサルタントチームのアジア太平洋地域リーダー。多国籍なMySQL部門にて、台湾、オーストラリア、インドに在籍するチームメンバーを束ね、アジア太平洋地域の25以上の国や地域でのMySQL普及やビジネスの拡大をミッションとする。  

バックナンバー

連載:MySQL事始

もっと読む

All contents copyright © 2007-2020 Shoeisha Co., Ltd. All rights reserved. ver.1.5