SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

直近開催のイベントはこちら!

EnterpriseZine編集部ではイベントを随時開催しております

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けの講座「EnterpriseZine Academy」や、すべてのITパーソンに向けた「新エバンジェリスト養成講座」などの講座を企画しています。EnterpriseZine編集部ならではの切り口・企画・講師セレクトで、明日を担うIT人材の育成をミッションに展開しております。

お申し込み受付中!

MySQL事始

MySQL事始 SQL文(5) DDL

第8回


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)

次のページ
列の定義

この記事は参考になりましたか?

  • Facebook
  • Twitter
  • Pocket
  • note
MySQL事始連載記事一覧

もっと読む

この記事の著者

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

日本オラクル MySQL Global Business Unit Asia Pacific & Japan担当 MySQLソリューション・エンジニアリング・ディレクターオラクル社において、MySQLのお客様環境への導入支援や製品の技術解説を担当するセールスコンサルタントチームのアジア太平洋地域リーダー。多国籍なM...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

EnterpriseZine(エンタープライズジン)
https://enterprisezine.jp/article/detail/3521 2012/02/10 18:05

Job Board

AD

おすすめ

アクセスランキング

アクセスランキング

イベント

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング