データベースの生成
CREATE DATABASE
手始めに、データベースを生成する方法から説明しましょう。すでに説明したとおり、MySQLは、複数のデータベースが定義できます。そこで、まずはデータベースを作成する方法から説明します。
データベースを作成するSQL文はCREATE DATABASEです。詳細は以下の通りです。
データベースの生成※ []内は必須ではないオプションです。
データベース作成時に利用できるオプションは文字コードCHARACTER SETおよび文字の照合順序COLLATIONです。サーバ全体で文字コードを指定している場合には個別のデータベースで再度指定する必要は通常はありません。なんらかの理由で特定のデータベースの文字コードを変更したい場合のみに変更します。
使用例
CREATE DATABASE SCHOOL;
DBViewerでの実行
では、SQL文をDBViewerで実行するには、どうすればよいのでしょうか?これは、下部にあるSQL実行・ビューを利用します。ここに実行するSQL文を記入し、実行ボタン(緑色で矢印のあるボタン)を押すと、SQL文が実行されます。(図2-1.)
図2-1.SQL実行・ビュー |
---|
すると、新しいデータベースが作成されます。確認するためには、画面左側のDBツリー・ビューの「MySQL」の横の三角形の矢印をクリックしてください。(図2-2.)
図2-2.データベース一覧の表示① |
---|
すると、その下にデータベース一覧が展開され、新しいデータベース、「school」が表示されるのが確認できます。(図2-3.)
図2-3.データベース一覧の表示② |
---|
データベースの削除
作成したデータベースは、不要になれば削除することが出来ます。その際、DROP DATABASE文を用います。使用方法は、以下の通りです。
データベースの削除データベース内のすべてのテーブルが破棄され、データベースが削除されます。シンボリックリンクのあるデータベースに対して DROP DATABASE を実行すると、リンクと元のデータベースとの両方が削除されます。このコマンドの使用時には、十分に注意してください。
使用例
DROP DATABASE STUDENT;
付随するコマンドラインクライアントツールのコマンド
データベースの存在の確認
厳密に言えば、SQL文ではありませんが、MySQLにおいて、CREATE TABLEとセットでよく使われるのが、このUSEおよび、SHOW DATABASES;です。この命令は、既存のデータベースに接続するための、MySQLコマンドラインクライアントツールのコマンドです。
① SHOW DATABASES
存在しているデータベースの一覧を取得します。
データベースの一覧の取得② USE
MySQLは、カレントのデータベースがあり、それを変更できます。それを変更するには、USE文を使います。書式は次の通りです。
カレントのデータベースの変更テーブルの操作
テーブルの生成
すでに説明したとおり、MySQLには、複数のデータベースが存在し、データベースの下に、さらに複数のテーブルを定義できるようになっています。
CREATE TABLEの書式列の定義は、列の名称とデータ型、列のオプションの組み合わせになります。列のオプションでは、その列をインデックスに指定する場合は種類などが設定できます。(表2-1.)他にも列ごとに文字コードを定義することや、初期値および制約の設定もオプションとして設定可能です。
テーブルを作成するには、かならず、データベースが作成され、利用されている必要があります。
表2-1.>列の定義のオプション種類 | 定義オプション名 | 詳細 |
---|---|---|
主キー | PRIMARY KEY | 行を識別するための列。重複する値は格納できず、NULLも格納できない。 |
ユニークキー | UNIQUE | 主キーに似て、重複する値は格納できないが、NULLは格納できる。 |
ノンユニークキー | KEY | 重複する値は格納できる。 |
空間インデックス | SPATIAL | 座標などの空間情報を格納するための特殊なインデックス ※MyISAMのみ |
全文検索インデックス | FULLTEXT | 全文検索のための特殊なインデックス ※日本語非対応 |
データベースの削除
作成したテーブルは、不要になれば削除することが出来ます。その際、DROP TABLE文を用います。使用方法は、以下の通りです。
データベース内のテーブルが破棄されます。存在しないテーブル名を指定するとエラーとなります。
使用例:studentテーブルを削除DROP DATABASE STUDENT;
以上で、データベースおよびテーブルを生成できるようになりました。次は、作成したテーブルにデータを追加してみることにします。