红联Linux门户
Linux帮助

使用Perl DBI/DBD连接Mysql

发布时间:2007-05-29 10:22:42来源:红联作者:zhujian0805
使用Perl DBI/DBD连接Mysql

安装环境:
本人电脑已安装的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]
文章评论

共有 0 条评论