今回は,フリーのデータベース管理システム(DBMS)であるMySQLを使って,SQLを直接入力して結果を見る実験をします。皆さんにやってほしいのは,身近な実験道具としてMySQLをインストールすることと,その基本的な使い方を覚えることです。そうすれば今後,SQLについて疑問が浮かんだときに,自分のマシンで実験して確かめられます。
実験の目的
今回の実験の目的は三つあります。(1)MySQLのインストール方法を知る,(2)MySQLを使ってデータベースを作成する方法を知る,(3)MySQLを使ってデータベースを操作する方法を知る――です。
実験の準備
Windows 2000か同XPが動作するパソコンを用意してください。実験をするために,まずMySQLをインストールします。MySQLは,http://dev.mysql.com/downloads/からダウンロードできます。いくつかのバージョンがありますが,ここではmysql-4.1.22-win.zipを使います。zipファイルを解凍(展開)して得られるSetup.exeをダブルクリックして,インストールしてください。
インストールはすべてデフォルトのままでよいでしょう。途中でroot(管理用の特権ユーザー)のパスワードを求められるので適当な文字列を設定してください。インストールが終了すると,インストーラは自動的にMySQLを起動します。MySQLはOSのサービスとして動作します。
インストールと起動が終わったら,コマンドプロンプトを起動します。MySQLはデフォルトでC:\Program Files\MySQL\MySQL Server 4.1\binにインストールされます。以下のコマンドを入力して,インストールしたディレクトリに移動します。
cd \Program Files\MySQL\MySQL Server 4.1\bin
続けて,
mysql -u root -p[設定したパスワード]
と入力すると,MySQLにコマンドを与えるためのプロンプト「mysql>」が表示されます。
「-p」と設定したパスワードの間にスペースを入れると動作しないので,注意してください。これで準備OKです。
実験の方法と結果
操作の対象となるデータベースとして「八百屋データベース」を作ります。このデータベースの中に,「商品表」という表(テーブル)を一つだけ作ります。「商品表」には,「商品ID(4文字の文字型)」「商品名(10文字の文字型)」「単価(整数型)」という三つの列を作ります。
データベースの作成は,「create database データベース名;」で行います。命令の末尾にセミコロンを付けることに注意してください。ここでは,データベース名を「yaoya」とします。つまり,
create database yaoya;
と入力します。作成できたら,この先の操作を行うために「use yaoya;」という命令を実行します。
データベースの中に表を作成するには,「create table 表の名前(列の名前, データ型, …, primary key(主キーにする列));」という命令を使います(図1)。型は「char(文字数)」や,「integer」で指定します。ここでは表の名前を「shohin」,列の名前を「shohinId」「shohinMei」「tanka」とします。
図1●八百屋データベースを作成し,その中に商品表を作成する [画像のクリックで拡大表示] |
データベースができたら,データの登録と取得を試してみましょう。
登録は,「insert into 表の名前(列の名前,…) values(列の値, …);」で行います(図2)。列の値が文字列の場合はシングルクォートで囲みます。「'S001', 'ニンジン', 150」「'S002', 'タマネギ', 200」「'S003', 'ジャガイモ', 300」という3件のデータを登録することにしましょう。
図2●商品表にデータを3件登録し,すべてのデータを取得する [画像のクリックで拡大表示] |
無事に登録されたかどうかは,データを取得すればわかります。「select*from shohin;」を実行すれば,「商品表」に登録されているすべてのデータを取得できます。アスタリスク(*)は,すべての列を意味します。
更新と削除も実験してみましょう。更新は,「update 表の名前 set 列の名前='更新後の値',… where 条件;」で行います。商品IDがS001の商品の商品名を「人参」に変えてみましょう(図3)。削除は,「delete from 表の名前 where 条件;」で行います。商品IDが「S002」である商品を削除してみましょう。最後にselectで実験結果を確認します。
図3●商品表のデータに対して更新と削除をそれぞれ実行し,結果を確認する [画像のクリックで拡大表示] |
これで,実験は終了です。「quit」と入力して,MySQLのプロンプトを終了します。MySQLのサービスを停止するには,[スタート]-[設定]-[コントロール パネル]-[管理ツール]-[サービス]で,「MySQL」を選択して,「サービスの停止」をクリックしてください。
実験の考察
私の仲間内では,「select命令を制する者は、SQLを制す」という格言があります。SQLの中で,最もバリエーションが広く,またよく利用するのはselect命令だからです。基本的な構文は,「select 列の名前,… where 条件;」です。様々な条件を指定して該当データだけを取得できますし,合計値,平均値,最大値,平均値などを得たり,データのソートもできます。
select命令の様々なバリエーションを覚えるには,かなり時間がかかるでしょう。しかし,select命令で実現できることを知らずに,同じ機能をアプリケーションで作りこむのは無駄なことです。プロの世界は,「時は金なり」です。
次回は,CGIを実験します。
|