データベースの生成

CREATE DATABASE

手始めに、データベースを生成する方法から説明しましょう。すでに説明したとおり、MySQLは、複数のデータベースが定義できます。そこで、まずはデータベースを作成する方法から説明します。

データベースを作成するSQL文はCREATE DATABASEです。詳細は以下の通りです。

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

データベース作成時に利用できるオプションは文字コードCHARACTER SETおよび文字の照合順序COLLATIONです。サーバ全体で文字コードを指定している場合には個別のデータベースで再度指定する必要は通常はありません。なんらかの理由で特定のデータベースの文字コードを変更したい場合のみに変更します。

使用例

CREATE DATABASE SCHOOL;

DBViewerでの実行

では、SQL文をDBViewerで実行するには、どうすればよいのでしょうか?これは、下部にあるSQL実行・ビューを利用します。ここに実行するSQL文を記入し、実行ボタン(緑色で矢印のあるボタン)を押すと、SQL文が実行されます。(図2-1.)

図2-1.SQL実行・ビュー
SQL実行・ビュー

すると、新しいデータベースが作成されます。確認するためには、画面左側のDBツリー・ビューの「MySQL」の横の三角形の矢印をクリックしてください。(図2-2.)

図2-2.データベース一覧の表示①
データベース一覧の表示①

すると、その下にデータベース一覧が展開され、新しいデータベース、「school」が表示されるのが確認できます。(図2-3.)

図2-3.データベース一覧の表示②
データベース一覧の表示②

データベースの削除

作成したデータベースは、不要になれば削除することが出来ます。その際、DROP DATABASE文を用います。使用方法は、以下の通りです。

データベースの削除
DROP DATABASE データベース名;

データベース内のすべてのテーブルが破棄され、データベースが削除されます。シンボリックリンクのあるデータベースに対して DROP DATABASE を実行すると、リンクと元のデータベースとの両方が削除されます。このコマンドの使用時には、十分に注意してください。

使用例

DROP DATABASE STUDENT;

付随するコマンドラインクライアントツールのコマンド

データベースの存在の確認

厳密に言えば、SQL文ではありませんが、MySQLにおいて、CREATE TABLEとセットでよく使われるのが、このUSEおよび、SHOW DATABASES;です。この命令は、既存のデータベースに接続するための、MySQLコマンドラインクライアントツールのコマンドです。

① SHOW DATABASES

存在しているデータベースの一覧を取得します。

データベースの一覧の取得
SHOW DATABASES;

② USE

MySQLは、カレントのデータベースがあり、それを変更できます。それを変更するには、USE文を使います。書式は次の通りです。

カレントのデータベースの変更
USE データベース名;

テーブルの操作

テーブルの生成

すでに説明したとおり、MySQLには、複数のデータベースが存在し、データベースの下に、さらに複数のテーブルを定義できるようになっています。

CREATE TABLEの書式
CREATE TABLE テーブル名 (列名列の型[制約],…) [テーブルオプション];

列の定義は、列の名称とデータ型、列のオプションの組み合わせになります。列のオプションでは、その列をインデックスに指定する場合は種類などが設定できます。(表2-1.)他にも列ごとに文字コードを定義することや、初期値および制約の設定もオプションとして設定可能です。

テーブルを作成するには、かならず、データベースが作成され、利用されている必要があります。

表2-1.>列の定義のオプション
種類定義オプション名詳細
主キーPRIMARY KEY行を識別するための列。重複する値は格納できず、NULLも格納できない。
ユニークキーUNIQUE主キーに似て、重複する値は格納できないが、NULLは格納できる。
ノンユニークキーKEY重複する値は格納できる。
空間インデックスSPATIAL座標などの空間情報を格納するための特殊なインデックス ※MyISAMのみ
全文検索インデックスFULLTEXT全文検索のための特殊なインデックス ※日本語非対応

データベースの削除

作成したテーブルは、不要になれば削除することが出来ます。その際、DROP TABLE文を用います。使用方法は、以下の通りです。

DROP TABLE テーブル名;

データベース内のテーブルが破棄されます。存在しないテーブル名を指定するとエラーとなります。

使用例:studentテーブルを削除
DROP DATABASE STUDENT;

以上で、データベースおよびテーブルを生成できるようになりました。次は、作成したテーブルにデータを追加してみることにします。