安装环境:
本人电脑已安装的VMware,并且事先安装了OS和Mysql:
OS : RedHat Linux AS4(默认已安装Perl)
Mysql: 5.0.22(从网上下载SOURCE包进行安装)
安装过程:
本人电脑已上网,VMware使用的是NAT方式,可以用这种方式直接从网上安装,不易出错。
1. [root@RHEL4 DB]# perl -MCPAN -e "install DBI"
2. [root@RHEL4 DB]# perl -MCPAN -e "install DBD::mysql"
通过以上过程将perl的DBI及DBD安装完毕。
使用DBI/DBD连mysql数据库:
1. 在Mysql server建立一个Account--"james"(使用以下指令)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
-> IDENTIFIED BY 'some_pass';
mysql> select host,user from user;+-----------+-------+
| host | user |
+-----------+-------+
| RHEL4 | |
| RHEL4 | james |
| RHEL4 | root |
| localhost | |
| localhost | james |
| localhost | root |
+-----------+-------+
6 rows in set (0.00 sec)
2. 使用james帐号连入mysql,在test数据库中建立一个table:
mysql> CREATE TABLE users (id INT(4) PRIMARY KEY, username VARCHAR(25),
country VARCHAR(2));
Query OK, 0 rows affected (0.11 sec)
mysql> INSERT INTO users VALUES (1, 'john', 'IN'), (2, 'tom', 'US'), (3,
'layla', 'US');
Query OK, 3 rows affected (0.11 sec)
Records: 3 Duplicates: 0 Warnings: 0
3. 写一个perl脚本进行查询
#!/usr/bin/perl
use DBI;
my $dbh=DBI->connect("DBI:mysql:database=test;host=localhost","james","james",{'RaiseError' => 1});
my $sth=$dbh->prepare("select * from users");
$sth->execute();
while(my $ref=$sth->fetchrow_hashref()){
print "ID:$ref->{'id'},username:$ref->{'username'},Country:$ref->{'country'}\n";
}
$dbh->disconnect();
总结
相关站点:
http://www.chinahtml.com/programming/4/2006/cgi-11603810267057.shtml
http://fanqiang.chinaunix.net/program/perl/2006-05-31/4379.shtml
整个DBI,DBD的工作模式如下:
[font=黑体]让我们看看连接数据发生的典型的过程:
1、载入DBI驱动程序
2、使用DBD连接相应的数据库
3、打开含有SQL指令的游标
4、取回数据集
5、关闭游标
6、关闭数据库连接
7、退出
[/font]

