情報システム科
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
ホームへ