Perlを使う3 〜 基本(続編) DB連携
XAMPPのperlのバージョンが古いので、active perlをインストールして使用。
1.準備
MySQLにテスト用のDBおよびテーブルの作成。
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | cdcol | | mysql | | performance_schema | | phpmyadmin | | test | | webauth | +--------------------+ 7 rows in set (0.00 sec) mysql> use test Database changed mysql> source ddl.sql Query OK, 0 rows affected (0.13 sec) mysql> show tables; +----------------+ | Tables_in_test | +----------------+ | perlconnect | | test | +----------------+ 2 rows in set (0.00 sec) mysql> desc perlconnect -> ; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | id | varchar(10) | YES | | NULL | | | name | varchar(10) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
2.データ作成
mysql> source insert.sql Query OK, 1 row affected (0.00 sec) Query OK, 1 row affected (0.00 sec) Query OK, 1 row affected (0.01 sec) mysql> select * from perlconnect; +------+-------+ | id | name | +------+-------+ | 1 | user1 | | 2 | user2 | | 3 | user3 | +------+-------+ 3 rows in set (0.00 sec)
3.dbに接続するperlプログラムの作成
use DBI; #アカウント $user = 'アカウント'; $pass = 'パスワード'; #DB接続 #connect('DBI:mysql:データベース名:DBサーバホスト', アカウント, パスワード); $db = DBI->connect('DBI:mysql:test:localhost', $user, $pass); #クエリ準備 $query = $db->prepare("select * from perlconnect"); #クエリ実行 $query->execute; #出力 while( @row = $query->fetchrow_array){ print "@row\n"; } #DB切断 $db->disconnect; exit;
4.実行
C:\> perl dbConnect.pl 1 user1 2 user2 3 user3