■基本
データベースではまずデータ全体を入れる箱(データベース領域)を確保して、その中にテーブル(表)類を作成していくことになります。
当然その領域にアクセスできるユーザも必要になります。
mysqlにはrootという万能なユーザが最初から用意されているのでこれを使って作成していくことになります。
■mysqlの起動
xamppの場合は右下にあるタスクトレイにアイコンが表示されていればコントロールパネルが常駐しているので「MySql Running」になっていれば起動できています。
なっていなければ[Start]ボタンを押してRunning表示にします。
コントロールパネルが常駐していなければxamppをインストールしたディレクトリ内にあるxampp-control.exeを実行すればできます。
xampp以外でのインストールの場合は特に存じ上げません。
■mysql端末への接続と切断
xamppの場合はコンパネ右上の[Shell]ボタンを押すと端末が現れます。
xamppじゃない場合はDOS窓を起動してmysqlをインストールしたディレクトリの中のbinの場所まで移動すれば以下のmysqlコマンドを打てると思います。
当然そのbinまでのパスを環境変数として設定すればDOS窓を起動すればそのままmysqlコマンドが打てます。
[端末が現れてプロンプト入力待ち]
xamppのコンパネ右上[Shell]ボタンを押してDOS窓起動
Administrator@hoge-PC C:\xampplite
#
[rootユーザで接続(パスワード未設定の場合)]
mysql>
[rootユーザで接続(パスワード設定済みの場合)]
Enter password: ******
mysql>
[切断]
Bye
#
■データベース領域
データベース領域は適当に他と被らない名前のものを決めます。
mysql> show databases;
わたしは「fooarea」で作成することにします。
■テーブル設計
新規にデータベース領域を作成するのでテーブル名が被ることはありません。
テスト用に適当に作ります。
id(int型)とname1(text型)とname2(text型)を持つ単純なテーブルをテーブル名「footab」で作ります。
■データベース設計
[C:\input.sql]
create database fooarea; /* fooareaを新規作成 */
/* ユーザ作成(ユーザ名:myuser、パスワード:mypass) */
grant all privileges on fooarea.* to myuser@localhost identified by 'mypass' with grant option;
/* テーブル作成するため作成したfooareaに移動 */
use fooarea;
/* テーブル作成 */
create table footab(
id int,
name1 text,
name2 text
);
/* テーブルに初期値を入れる */
insert into footab(id, name1, name2) value(1, 'yamada', 'taro');
insert into footab(id, name1, name2) value(2, 'yamada', 'hanako');
以上のように「データベース領域作成」「ユーザ作成」「テーブル作成」それぞれをデータベースで実行できるようにSQLで書いていき、これをinput.sqlというファイル名で保存します。
最初にdrop databaseを書いておくと、何度実行しても一旦データベース領域を真っサラにするところから始めるので都合がいいです。
エラーが出たらその箇所を修正して何度でもやり直しができます。
■データベースに取り込んで作成実行
[ファイル内容を取り込んで実行]
# mysql -u root < C:\input.sql
Administrator@hoge-PC C:\xampplite
#
特になにも表示されません。
作成されたか確認してみます。
# mysql -u myuser -p fooarea
Enter password: ******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.1.37 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> select * from footab;
+------+--------+--------+
| id | name1 | name2 |
+------+--------+--------+
| 1 | yamada | taro |
| 2 | yamada | hanako |
+------+--------+--------+
2 rows in set (0.00 sec)
mysql>
作成したmyuserでfooareaに接続できました。テーブルも作成されています。
今回やってみた規模なら手打ちでやっても苦になりませんが、実際のもっと大掛かりなデータベース設計ではこのようにファイルに設計を記述して取り込んで作成実行が行われることになると思います。