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