成績データベースの作成

プログラムで使用する成績データベースを作成します。

前田稔(Maeda Minoru)の超初心者のプログラム入門

データベースの作成

  1. 事前に C:\TMP\MYSQL のフォルダーに Script File を格納しておいて下さい。
    Script File は、このページの後に掲載しています。
    Script File説明
    mark.sql 成績データベースを作成する
    markdel.sql データベースを削除する
  2. winmysqladmin.exe を実行して MySQL サーバーを立ち上げます。
    c:\mysql\bin\winmysqladmin.exe
  3. コマンドプロンプトのウインドウを立ち上げます。
    ディレクトリを C:\TMP\MYSQL に設定します。
    C:\Documents and Settings\maeda>CD C:\TMP\MYSQL
  4. 作成に失敗したときや、前回作成した dbase が残っているときは、事前に削除して下さい。
    mysqladmin は、データベースの作成・削除や、MySQLサーバーの情報を得るコマンドです。
    C:\TMP\MYSQL>mysqladmin -u root -p DROP mark
    markdel.sql を使って削除することも出来ます。
  5. コマンドラインから mysql を起動します。
    C:\Documents and Settings\maeda>mysql -u root
  6. SQLを Script File から実行します。
    mysql> SOURCE mark.sql;
  7. データベースの確認を兼ねて、name に '山' が付くレコードを抽出して下さい。
    続いて成績で抽出して下さい。
        mysql> SELECT * FROM mark_table WHERE name LIKE '%山%';
        mysql> SELECT * FROM mark_table WHERE v1>90 AND v1+v2+v3>240;
        
  8. データベースを残す必要が無いときは削除して下さい。
    mysql> SOURCE markdel.sql;
  9. exit で終了します。
    mysql>exit
  10. 成績データベースが作成されているかを確認するときは、USE で mark を選択して下さい。
    C:\Documents and Settings\maeda>mysql -u root
    mysql> USE mark;
    mysql> SELECT * FROM mark_table;

Script File のソース

  1. dbase を作成するスクリプトファイル(mark.sql)です。
    CREATE DATABASE mark;
    USE mark;
    CREATE TABLE mark_table(
      no INT(5) UNSIGNED NOT NULL,
      name VARCHAR(16) NOT NULL,
      v1 INT(3) UNSIGNED NOT NULL default '0',
      v2 INT(3) UNSIGNED NOT NULL default '0',
      v3 INT(3) UNSIGNED NOT NULL default '0',
      PRIMARY KEY (no)
    );
    
    INSERT INTO mark_table VALUES (10,'愛知  真唯子',100,100,100);
    INSERT INTO mark_table VALUES (20,'青森  孝雄',0,0,0);
             :
             :
    INSERT INTO mark_table VALUES (470,'和歌山  絢子',82,74,92);
    

  2. データベースを削除するスクリプトファイル(markdel.sql)です。
    DROP TABLE mark_table;
    DROP DATABASE mark;
    

  3. データベースを更新するスクリプトファイル(markupd.sql)です。
    no=20(青森 孝雄)の v1 を 99 に、no=50 の v1,v2,v3 を 19,29,39 に更新しています。
    SOURCE で実行して試してみて下さい。
    SELECT * FROM mark_table WHERE v1<50 OR v2<50 OR v3<50;
    UPDATE mark_table SET v1=99 WHERE no=20;
    UPDATE mark_table SET v1=19, v2=29, v3=39 WHERE no=50;
    SELECT * FROM mark_table WHERE v1<50 OR v2<50 OR v3<50;
    

超初心者のプログラム入門(Win32API C++)