MySQLを勉強しています。

先日、SQLの勉強をしようと「書き込み式SQLのドリル」という本を買いました。

とても分かりやすく、段階的に解説し、しかも書き込み式のドリル形式なので、「なんとなく分かっても、覚えていない」ということはなく、実際の問題を解くことで、力がつきそうな予感です。

本書だと、Windows版にて解説しているのですが、Macをメインで使っている僕にとって、「ぜひMacで勉強したい!」という欲が出て来てしまいました。

そこで、とりあえずインストールしてみました。
いろいろと探していたら下記のサイトを見つけました。
http://earlybirds.ddo.jp/namahage/inegalog/article.php?id=8

ハッキリ言って、このサイトを見れば、ワザワザ私が書く必要も無いくらい、分かりやすく解説しています。、、、が、自分の為に手順を書いておきます。


手順
1、「MySQL本体をダウンロードする」
 まずは、下記のサイトより、自分の環境にあった物をダウンロードする。(私の場合はMac OSX 10.3用のスタンダード版をダウンロードしました。結構下の方にありました。)
http://dev.mysql.com/downloads/mysql/5.0.html
(これは現時点での最新版への直リンクなので、その時にあったものをサイトから探すと良いと思います。)

2、「MySQL本体をインストールする」
 ダウンロードした物をダブルクリックすると、ディスクイメージが開くので、その中から「mysql-standard-5.0.24-osx10.3-powerpc.pkg」をダブルクリックすると、パスワードを求められるので、ユーザ名のパスワードを入力する。

これだけで、あっという間にインストール完了!


ただ、使い勝手を良くする為に、この後も作業が続きます。

3、「スタートアップパッケージをインストールする」
 上記で出来上がっているディスクイメージの中にある「MySQLStartpuItem.pkg」をダブルクリックすると、パスワードを求められるので、ユーザ名のパスワードを入力する。

(このパッケージは、MySQLを自動で起動したりする為の物らしいです。これが無いと起動するのに面倒臭い作業が必要になるようです。)

4、「システム環境設定にスタートアップパッケージを追加する」
 再び上記で出来上がったディスクイメージにある「MySQL.prifPane」をダブルクリックします。すると、システム環境設定が立ち上がり「"MySQL"環境設定パネルを使うには、インストールする必要があります。今すぐインストールしますか?」というアラートがでるので、「このユーザ専用にインストールする」を選んで「インストール」ボタンを押します。

5、「システム環境設定の確認をする」
 するとシステム環境設定の中の、「その他」の項目に「MySQL」が追加され、自動で環境設定が立ち上がります。下の方にある「Automatically Start MySQL Server on Startup」にチェックが入っていれば、次回からログイン時に自動でMySQLが立ち上がるものと思われます。(勝手にそう思っているだけかもしれません。)

以上で、インストールは完了です。


、、、が、もう少し設定が必要そうなので、追加しておきます。


6、「root権限のパスワードを設定する」
 上記のようにただインストールした状態では、パスワードが設定されていない為、セキュリティの面で危険があるようです。そこでまずはroot(管理者?)のパスワードを設定します。
 設定するには「ターミナル」というソフトを使います。「アプリケーション」>「ユーティリティ」>「ターミナル」と開きダブルクリックすると、ターミナルが立ち上がります。

Welcome to Darwin!
[Macintosh:~] ユーザ名%

というような画面になると思うので、以下のように打ち込みます。

cd /usr/local/mysql/bin/

すると、今自分のいる場所が変わって以下のような画面になると思います。

[Macintosh:local/mysql/bin] ユーザ名%

次に、パスワードを設定します。以下のように打ち込んでください。(パスワードの部分は、任意のものを入れてください。

./mysqladmin -u root password パスワード

これで、root権限のパスワードが設定されます。
以上でMySQLが安全に使えるようになりました。

7、「MySQLの確認をする」
 上記までで、MySQLは使えるようになっているはずなので、確認をしてみます。

[Macintosh:local/mysql/bin] ユーザ名%

上記の画面から、以下のように打ち込みます。

./mysql -u root -p

すると、パスワードを求めてくるので、上記で設定したパスワードを入力する。

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 208 to server version: 5.0.24-standard

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

このような画面になったら、成功です。

MySQLを終了するには、

exit

と入力します。


以上で、MySQLがとりあえずインストールできました。めでたしめでたし


SQLを勉強したい人に絶対おすすめ→「書き込み式SQLのドリル

MySQLにデータを取り込んでみる

さて、上記のようにMySQLのインストールできたら、次に「書き込み式SQLのドリル」に付属しているCDからデータを取り込んでみます。


手順

1、「ターミナルの起動」
 まず、「アプリケーション」>「ユーティリティ」>「ターミナル」と選んでターミナルをダブルクリックし、開く。

2、「ディレクトリ(場所)の移動」
 ターミナルにて、以下のように打ち込む。

cd /usr/local/mysql/bin/

するとディレクトリの移動が完了する

[Macintosh:local/mysql/bin] ユーザ名%

3、「新しく(workbook)というデータベースを作る」
 ターミナルにて、以下のように打ち込む。

./mysqladmin -u root -p CREATE workbook

すると、例のごとくパスワードを聞いてくるので、root権限に設定したパスワードを入力する。
これで、(workbook)というデータベースが作成されました。


4、「workbookにCDからデータを読み込む」
次に、CDからデータをデータベースに読み込みます。
下記のように打ち込んでみてください。

./mysql -u root -p workbook < /Volumes/SQL_DRILL/database/MySQL/workbook.sql

これで、CDからworkbookにデータがコピーされます。
少し話がそれますが、ターミナルでは便利なことに、ドラッグアンドドロップが使えます。ここで言うと「/Volumes/SQL_DRILL/database/MySQL/workbook.sql」と言う部分になりますが、この部分が分からない場合は、Finderのアイコンをターミナルのウィンドウにドラッグしてみてください。

すると、あら便利。ターミナルにそのパスが入力されるという物です。

初心者には、ありがたい機能ですね。


5、「データベースがキチンと作成されているか確認する」
 ここで、キチンとデータベースが作成されているか確認してみます。
以下のようにターミナルに打ち込んでください。

./mysql -u root -p

すると、パスワードを求めてくるので、入力すると下記のようになります。

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 212 to server version: 5.0.24-standard

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

次に、以下のように打ち込んでください。

SHOW DATABASES;

すると、以下のようにデータベースが作成されていることが分かります。

mysql> SHOW DATABASES;

                                          • +
Database
                                          • +
information_schema
mysql
workbook
                                          • +

4 rows in set (0.00 sec)

次に、使用するworkbookを使えるように指定します。

USE workbook;

すると、以下のようになりworkbookが使えるようになります。

Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql>

試しに、テーブルを表示してみましょう。
以下のように、打ち込んでください。

SHOW TABLES;

すると、workbookデータベースに登録されているテーブルがすべて表示されます。

                                          • +
Tables_in_workbook
                                          • +
access_log
author
author_books
books
category
contents
depart
employee
menu
order_desc
order_main
product
quest
rental
sales
shop
time_card
usr
                                          • +

18 rows in set (0.00 sec)

これで、勉強の準備万端!っと行きたいところですが、もう少し設定が必要そうです。

6、「文字コードを設定する」
 私の環境のせいなのか?初心者なので理解できていないのですが、このままだと文字化けしてしまいます。
とりあえず、詳細は分かりませんが、以下のように設定すると文字化けが解消されます。

SET CHARACTER SET utf8;

これで、日本語が使えるようになりそうです。
この辺、もう少し分かったら、また今度書いてみたいと思います。

これで、やっとSQLを勉強する準備が本当に整いました。

これから、がんばるぞ!



※追記
上記の設定の仕方だと、MySQLを立ち上げる度に文字コードの設定が必要となるようです。現時点で、問題がないので、このままで勉強したいと思います。
おそらく、PHPなどから操作する際には、また何かしらの設定が必要となると思われるので、その時にまた調べたいと思います。




SQLを勉強したい人に絶対おすすめ→「書き込み式SQLのドリル