ページタイトル【コンテンツ-目次-】
HomeContentsMac Every Day>Mac OS Xでサーバーごっこ 3-3
Go Home
目次
車いすガイド札幌
私設ガイド札幌
私設ガイド北海道
車いす関連リンク
リンクその他
Mac関連
作者について
家族のページ
更新経歴

  1. 初めに
  2. MySQLのダウンロードとインストール
  3. MySQLユーザを作る
  4. MySQLを初期化し起動する
  5. MySQLの設定をする
  6. StartupItemをセットする
  7. JTerminalをインストールする
  8. MySQLに日本語のデータを入力する
  9. 日本語を含むコマンドを実行する
  10. PHPでMySQLを操作する。

← Prev


  1. MySQLに日本語のデータを入力する。

     JTerminalからMySQLに日本語のデータをコマンドラインから直接入力する事は出来ないので、ファイルから読込ませる事にしました。

     適当なデータと言う事で、子供の地図帳から北海道と東北六県の面積と人口のデータから、テキストエディターで次のようなカンマで区切ったテキストデータを作りました。

    1,北海道,札幌市,83451,567
    2,青森県,青森市,9606,151
    3,岩手県,盛岡市,15275,143
    4,宮城県,仙台市,7284,229
    5,秋田県,秋田市,11613,123
    6,山形県,山形市,9323,126
    7,福島県,福島市,13782,213
    

     これを文字コード「EUC」、改行コード「LF」で「data.csv」として保存します(他は試していませんが、JTerminalが「EUC」を扱うので、この設定が無難だと思います)。そしてこのファイルをmysqlユーザがアクセス出来るディレクトリに置きます。今回は、「/Uses/Shared」にしました。

     mysqldは、あらかじめ立ち上がっているものとしJTerminalからmysqlを立ち上げますが、データベースを操作するため、MySQLのrootユーザーとしてmysqlを立ち上げます。JTerminalに次のコマンドを入力します。

    mysql -u root -p

     パスワードの入力を求められるので、MySQLの設定をするで設定したパスワードを入力します。いくつかのメッセージがあり、"mysql> "とMySQLのプロンプトが表示されます。ここで「SAMPLE_DB」と名付けた新規のデータベースを作るコマンドを入力します。

    create database SAMPLE_DB;

     "Query OK, 0 rows affected (0.01 sec)"などと表示されえばOKです。次にこのデータベース上で作業をする事を指定するコマンドを入力します。

    use SAMPLE_DB;

     "Database changed"とメッセージが返ってきますので、次にテーブルを作るコマンドを入力します。

    create table SAMPLE_T

     MySQLでは、";"がコマンドの終りを意味するので、コマンドの続きの入力を促す"->"が表示されます。続けて、次のコマンドを入力します。

    (ID_C int,PREF_C varchar(10),SEAT_PREF_G_C varchar(10),

     また、"->"が表示されますので、コマンドを続けて入力します。

    SIZE_C int,POPULATION_C int);

     "Query OK, 0 rows affected (0.06 sec)"などと表示され、テーブルが作られます。次は、このテーブルに先ほどのファイルからデータを入力するコマンドです。

    load data infile "/Users/Shared/data.csv"

     また、"->"が表示されますので、コマンドを続けて入力します。

    into table SAMPLE_T fields terminated by ",";

    "Query OK, 7 rows affected (0.04 sec)"
    "Records: 7 Deleted: 0 Skipped: 0 Warnings: 0"
    などと表示されれば成功です。

    ターミナル画面6

     データを読み出して確認してみましょう。次のコマンドを入力します。

    select * from SAMPLE_T;

     次のように表示されるでしょう。

    ターミナル画面7
  1. 日本語を含むコマンドを実行する。

     日本語を含みコマンドとして、入力した「SAMPLE_DB」のテーブル「SAMPLE_T」の中からカラム「SEAT_PREF_G_C」が"秋"で始るレコードを検索してみます。

     テキストエディターで次の文を入力し「test.sql」として保存します。

    select * from SAMPLE_T where SEAT_PREF_G_C like "秋%";

     この「test.sql」を例えばDesktopにでも置き、mysqlを立ち上げていない状態でJTerminalで次のコマンドを入力します(usernameは、自分のユーザー名が入ります)。

    mysql -u root -p SAMPLE_DB < /Users/username/Desktop/test.sql

     MySQLのrootパスワードを入力すると結果が表示されます。

    ターミナル画面8

  2. PHPでMySQLを操作する。

     最後に「Mac OS Xでサーバーごっこ 2-1」で使えるようにしたPHPスクリプトで、MySQLのデータをWebブラウザに表示させてみたいと思います。

     テキストエディターで次のhtml文を入力し文字コード「EUC」で「testsql.php」として、ホームのSitesフォルダ「/User/username/Sites」に保存します。

    <html>
    <body>
    <?php
    mysql_connect(localhost,root,password);
    mysql_select_db(SAMPLE_DB);
    $result = mysql_query("select * from SAMPLE_T where SEAT_PREF_G_C like '秋%'");
    $rows = mysql_num_rows($result);
    if($rows == 0){
        print "該当するレコードがありません。";
    }
    else {
        while($row = mysql_fetch_array($result)){
            echo $row["ID_C"], " ", $row["PREF_C"], " ", $row[SEAT_PREF_G_C], " ",
            $row[SIZE_C], " ", $row[POPULATION_C], "<p>\n";
        }
    }
    ?>
    </body>
    </html>

    ※ 4行目のmysql_connect(localhost,root,password)の、passwordは、「MySQLの設定をする」で、設定したMySQLのrootのパスワードを入力します。この説明が抜けている指摘をいただきましたので、加筆します。(2002/10/12 追記)

     Webブラウザで「http://localhost/~username/testsql.php」にアクセスすると、結果が表示されます。

    Webブラウザ画面

←Prev

HomeContentsMac Every Day>Mac OS Xでサーバーごっこ 3-3