情報システム科



WebDB

WebDBとは
 クライアント Webサーバ  CGI  外部プログラム  DB
┏━━━━┓  ┏━━━━┓ ┏━━━━┓ ┏━━━━┓  ┏━━┓
┃     URL     ┃ ┃    ┃ ┃    ┃SQL ┃  ┃
┃リクエスト----->CGI----->外部-------->DB検索--------->検索
┃送信  ┃ ┃ 起動 ┃ ┃プログラム ┃    ┃  ┃ │ ┃
┃    ┃ ┃    ┃ ┃起動  ┃ ┃    ┃  ┃ │ ┃
┃          HTML    ┃ ┃    ┃ ┃    ┃  ┃ │ ┃
┃表示結果<-------結果<-------結果変換<----検索終了<---------┘ ┃ 
┃    ┃ ┃ 送信 ┃ ┃    ┃ ┃    ┃  ┃  ┃
┗━━━━┛ ┗━━━━┛ ┗━━━━┛ ┗━━━━┛  ┗━━┛
        アパッチ          Perl      MySQL

目次

Perlでデータベースを表示
データベースの作成(MySQL)

Perlでデータベースを表示


(1)Perlでデータベースを表示。
商品番号、1001から1004を、表示します。
realdb1
cgiプログラムは  realdb1.cgi  です。


(2)Perlでデータベースを表示。
表示する商品番号を、指定出来ます。
realdb



# DBI モジュールの読み込み
use DBI;

# データベースへ接続
$db = DBI->connect('DBI:mysql:データベース名:localhost','ユーザー名','パスワード');

# prepareで、準備して、executeで、実行。
$sth = $db->prepare("SELECT * FROM・・・・
$sth->execute();

# fetchrow_array:次のデータ行を取り出す。
@str = $sth->fetchrow_array();

#データベース・ハンドルをデータベースから切断
$db->disconnect;

データベースの作成(MySQL)

まず、データベースを作成します。

rbash-2.05a$ mysql -u tanoshiina -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is ***** to server version: ***

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

mysql> use tanoshiina
Database changed
mysql> CREATE TABLE zaiko (code INTEGER NOT NULL UNIQUE,name CHAR(30) NOT NULL);
Query OK, 0 rows affected (0.02 sec)
mysql> INSERT INTO zaiko VALUES(1001,'マウス');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO zaiko VALUES(1002,'光学式マウス');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO zaiko VALUES(1003,'CRTディスプレイ');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO zaiko VALUES(1004,'TFTディスプレイ');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO zaiko VALUES(1005,'インクジェットプリンタ');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO zaiko VALUES(1006,'レーザープリンタ');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO zaiko VALUES(1007,'カラーレーザープリンタ');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO zaiko VALUES(1008,'キーボート');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO zaiko VALUES(1009,'トラックボール');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO zaiko VALUES(1010,'マウスパッド');
Query OK, 1 row affected (0.00 sec)

mysql> SELECT * FROM zaiko;
+------+------------------------+
| code | name                   |
+------+------------------------+
| 1001 | マウス                 |
| 1002 | 光学式マウス           |
| 1003 | CRTディスプレイ     |
| 1004 | TFTディスプレイ     |
| 1005 | インクジェットプリンタ |
| 1006 | レーザープリンタ       |
| 1007 | カラーレーザープリンタ |
| 1008 | キーボート             |
| 1009 | トラックボール         |
| 1010 | マウスパッド           |
+------+------------------------+
10 rows in set (0.00 sec)

mysql> quit
Bye
rbash-2.05a$ exit


ホームへ