Chat (Lingr.com)
Informaiton
Daily
Column
- MySQL日本語の旅(5/1)
- アクセス向上秘伝(5/9)
- 一風変ったHaskellλ門(6/13)
- SICP Answer Book (5/31) 問題3.26追加
Zope Solution
Extra
アーカイブ
OSS案内所
Site Info
関連リンク
さて、今回から何回かにわたって、メタデータ (データベース名、テーブル名、カラム名など)に漢字が使えるか調べてみよう。 メタデータは識別子とも呼ばれる。
データベースは、だいたい事務処理的な作業をやらせることが多く、 帳票類に対応している訳で、それら全体(データベース)、帳票(テーブル)、 項目名(カラム)は、多くの場合日本語で名前が付けられている。 これらの名前を漢字のまま利用できてしまえば、 わざわざ英語の名称を考えたり、ローマ字を考えたり、 またそれらと日本語名との対応を考える必要もなくなり便利である。
だから、日本語を使いたいという要望はとても強い。 まあ、要するに、楽をしたい訳だ。
データベースの作成
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>
今回は、データベースに関する最低限の基本をまとめておいた。 次回から、日本語のデータベース名を使った場合を調べることにする。
フィードバック:
There is no comment.