Open Source WEB

さて、今回から何回かにわたって、メタデータ (データベース名、テーブル名、カラム名など)に漢字が使えるか調べてみよう。 メタデータは識別子とも呼ばれる。

データベースは、だいたい事務処理的な作業をやらせることが多く、 帳票類に対応している訳で、それら全体(データベース)、帳票(テーブル)、 項目名(カラム)は、多くの場合日本語で名前が付けられている。 これらの名前を漢字のまま利用できてしまえば、 わざわざ英語の名称を考えたり、ローマ字を考えたり、 またそれらと日本語名との対応を考える必要もなくなり便利である。

だから、日本語を使いたいという要望はとても強い。 まあ、要するに、楽をしたい訳だ。


データベースの作成

CREATE DATABASE [IF NOT EXISTS] データベース名

とりあえず、アルファベットだけの名前として、 OSS というデータベースを 作ってみよう。

shell$ mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 5.0.10-beta-debug-log
 
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
 
mysql> CREATE DATABASE OSS;
ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'OSS'
mysql>

いきなりエラーになってしまった。

CREATE DATABASE文の実行には、 CREATE権限が必要であった。

自分にCREATE権限をつけてもいいのだが、面倒なの root で起動してみよう。

shell$ mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2 to server version: 5.0.10-beta-debug-log
 
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
 
mysql> CREATE DATABASE OSS;
Query OK, 1 row affected (0.00 sec)

今度はちゃんとできたようだ。


データベースの一覧表示

できたかどうかの確認には、データベースの一覧表示の中に 存在していれば多分大丈夫だろう。

SHOW DATABASES

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| OSS                |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.03 sec)
 

データベース定義の表示

SHOW CREATE DATABASE データベース名

ついでに、データベースがどのように定義されているのかを表示してみよう。

mysql> SHOW CREATE DATABASE OSS\G
*************************** 1. row ***************************
       Database: OSS
Create Database: CREATE DATABASE `OSS` /*!40100 DEFAULT CHARACTER SET latin1 */
1 row in set (0.00 sec)

SHOW CREATE DATABASE 

最後を \G にしたので、表形式ではなく、こんな風に表示される。


データベースの削除

作ったものは不要になったときに削除しなければならない。 ごちゃごちゃテストするときはなおさらである。

DROP DATABASE [IF EXISTS] データベース名

では、データベースOSSを消してみよう。

なお、データベースを削除するには、DROP権限が必要である。

mysql> DROP DATABASE OSS;
Query OK, 0 rows affected (0.03 sec)
 
mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
+--------------------+
3 rows in set (0.00 sec)
 
mysql>

今回は、データベースに関する最低限の基本をまとめておいた。 次回から、日本語のデータベース名を使った場合を調べることにする。


戻る:5.1でmysqlのプロトコル変更により解決か

次へ:データベース名に漢字を使ってみよう


フィードバック:

Name:
Comment:

There is no comment.

このサイトは、 IPA の「平成15年度オープンソフトウエア活用基盤整備事業」 の委託事業として開発されたKahuaで試験的に運用しております。

Copyright (c) 2004-2007 株式会社タイムインターメディア About Us