当前位置: 首页 > 图文教程 > 数据库 > MYSQL > 用Perl DBI连接MySQL数据库

MYSQL
Windows 2003搭建Apache PHP MySQL环境经验分享
PHP环境配置IIS5.0+PHP5.23+MYSQL5+phpMyAdmin
详解用phpmyadmin建立MYSQL数据库的过程
几条常见的数据库分页 SQL 语句
将MySQL数据导入到Sql Server中
解决MySQL数据库中文模糊检索问题
MySQL索引分析和优化
提高MySQL查询效率的三个有效的尝试
MySQL查询不含周末的五天前的日期
连接MySQL数据库失败频繁的原因分析
SQL Server和MySQL的安全性分析
Linux搭建Discuz论坛的方法
如何保护MySQL中的重要数据
怎样把你的 MySQL 完全中文化
FreeBSD 6.2快速架设网站服务器教程
Oracle限制返回结果集的大小
MySQL中与浮点比较有关问题的解决
distinct在mysql中查询多条不重复记录值的解决办法
全面提升Linux服务器的安全
不能通过mysql.sock连接MySQL问题的方法

MYSQL 中的 用Perl DBI连接MySQL数据库


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 78 ::
收藏到网摘: n/a

Perl中一个最酷的模块就是Perl数据库接口(Perl Database Interface,简称DBI)。通过提供一系列在内部上能够转化成原始调用函数的功能,DBI模块为很多不同的数据库提供了一个统一的接口。由此,使用Perl就可以很容易地利用数据库和建立动态Web网页。

当前,MySQL是广泛用于Web网站开发的数据库,它是一种免费、开源的SQL操作。本期我们将讲述到如何实现Perl与MySQL相互通讯的操作,将为你介绍由DBI提供的重要方法,在开发过程中讲述到一个简单的脚本模板。这一操作的前提是假设你的系统已经安装了MySQL和Perl。

下载和安装

开始,下载并安装Perl DBI模块和MySQL DBD。通过在Perl 命令行中运行以下命令即可完成安装过程:

perl> perl -MCPAN -e "install DBI"

perl> perl -MCPAN -e "install DBD::mysql"

注意:你可以手动下载和安装DBI和MySQL DBD。

现在Perl DBI和MySQL DBD应该安装在你的系统中。

然后,通过在MySQL用户端命令行输入以下命令,以建立一个用于SQL查询的表格。

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

一旦建立表格,继续使用DBI方法建立一个脚本模板(见表A)。

表A

#!/bin/perl

# load module

use DBI;

# connect

my $dbh = DBI->connect("DBI:mysql:database=db2;host=localhost", "joe", "guessme", {'RaiseError' => 1});

# execute INSERT query

my $rows = $dbh->do("INSERT INTO users (id, username, country) VALUES (4, 'jay', 'CZ')");

print "$rows row(s) affected ";

# execute SELECT query

my $sth = $dbh->prepare("SELECT username, country FROM users");

$sth->execute();

# iterate through resultset

# print values

while(my $ref = $sth->fetchrow_hashref()) {

print "User: $ref-> ";

print "Country: $ref-> ";

print "---------- ";

}

# clean up

$dbh->disconnect();

四个步骤

当使用Perl DBI执行一个SQL 查询时,请遵循四个简单的步骤:

1. 开始时,通过调用connect() 方法初始化数据库的句柄。connect() 方法接收连接参数并作为字符串,包括数据库类型("mysql"),主机名称("localhost"),以及数据库名称("db2")。数据库名称("joe")和密码("guessme")作为第二和第三个变量提供给connect() 方法。

2. 建立SQL查询字符串,并使用do()或prepare()以及execute()方法执行查询语句。do()方法是针对于一次性使用的INSERT,UPDATE或者DELETE查询,但prepare()和execute()方法针对的是SELECT查询。使用这些方法得到的对象将有所不同,这取决于查询的类型,查询结果是否成功也是如此。成功的SELECT查询将返回一个结果对象,成功的INSERT/UPDATE/DELETE 查询将返回一些相关的行。而不成功的查询将返回一个错误。

3. 对于SELECT查询,结果对象将被进一步处理以提取数据。使用一个循环,fetchrow_hashref()方法将返回每一记录作为Perl的信号。

4. 通过调用disconnect()方法结束会话。

当你下回继续在Perl中编写MySQL数据库连接代码时,这一脚本模块将可为你节省时间。编程快乐!