`

用Perl DBI连接MySQL数据库

    博客分类:
  • perl
阅读更多

原文:http://www.dedecms.com/knowledge/program/cgi-perl/2009/0929/60.html

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

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"

注意:你可以手动下载和安装DBIMySQL 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数据库连接代码时,这一脚本模块将可为你节省时间。编程快乐!

 

分享到:
评论

相关推荐

    通过dbi使用perl连接mysql数据库的方法

    本文将详细讲解如何通过Perl的DBI模块连接到MySQL数据库,并进行基本的数据操作。 Perl的DBI(Database Interface)模块提供了一个标准的接口,允许Perl程序与各种数据库系统交互,包括MySQL。以下是一个简单的示例...

    Perl DBI 参考(强烈推荐)

    Perl DBI(Database Interface)是Perl编程语言中用于数据库交互的一个强大的模块,它提供了一种标准接口来连接和操作各种数据库。这篇文档强烈推荐Perl DBI作为数据库操作的工具,下面我们将深入探讨Perl DBI的一些...

    perl的DBI安装包以及安装步骤

    5. **编写Perl脚本**:现在你可以使用DBI模块编写Perl脚本来连接和操作数据库了。基本的连接代码如下: ```perl use DBI; my $dbh = DBI->connect("dbi:mysql:database=your_database", "username", "password") ...

    perl 连接数据库所需包

    例如,DBD::mysql是用于连接MySQL数据库的DBD驱动,DBD::Oracle用于Oracle数据库,DBD::SQLite用于SQLite数据库。在本案例中,"dbd unixodbc"提到了ODBC(Open Database Connectivity),这是另一种数据库连接标准,...

    Programming Perl DBI 8

    7. **数据库特定功能**:由于DBI允许与多种数据库系统交互,书中可能会针对常见的数据库如MySQL、PostgreSQL、Oracle等,介绍它们特有的功能和DBD(Database Driver)模块的使用方法。 8. **高级主题**:深入讨论...

    linux下perl操作mysql数据库(需要安装DBI)

    通过这个例子,你学会了如何在Linux环境下使用Perl的DBI和DBD::mysql模块来与MySQL数据库进行交互。这种方式非常灵活,可以用于各种数据库操作,包括插入、更新、删除和复杂的查询。记得根据实际的数据库配置和需求...

    Perl DBI中文手册 pdf.rar

    它详尽地介绍了如何使用Perl DBI模块来操作数据库,提供了丰富的示例和详细解释,帮助开发者理解和掌握数据库接口的基本概念和高级特性。 首先,Perl DBI,全称为Database Interface,是Perl语言的一个标准模块,...

    单兴华CTO-学习Mysql经典教程-附录G Perl DBI API 参考.pdf

    本章节着重讲解了如何使用Perl DBI与MySQL进行交互,并特别提到了由DBD::mysql提供的MySQL数据库驱动程序。 #### 二、Perl DBI API简介 Perl DBI API是一组用于与数据库服务器通信以及从Perl脚本访问数据库的方法...

    perl-DBI-1.40-5.i386.rar

    8. **兼容性**:由于Perl DBI的广泛使用,许多数据库驱动已经为各种流行数据库系统开发,如PostgreSQL、SQLite、Oracle、SQL Server等。 在“perl-DBI-1.40-5.i386.rpm”这个文件中,包含了Perl DBI的源码或者编译...

    关于perl DBI的方法使用

    Perl DBI(Database Interface)是Perl语言中用于数据库交互的标准接口,它允许程序员与各种不同的数据库管理系统(DBMS)进行通信。在Perl中,DBI提供了统一的API,使得开发者无需关心具体的数据库类型就能编写...

    MySQL 事务预编译查询和Perl DBI简化

    Perl DBI(Database Independent Interface)模块是Perl连接数据库的标准接口,它提供了一种统一的方式来与各种数据库系统交互,包括MySQL。DBI允许我们创建数据库句柄,执行SQL查询,处理结果集等。使用DBI,我们...

    Perl实现文件及数据库访问

    使用DBI,首先需要加载适当的数据库驱动(如DBD::mysql),然后创建数据库句柄,建立连接,执行SQL查询,并处理结果集。例如: ```perl use DBI; my $dbh = DBI->connect("dbi:mysql:database=test;host=localhost...

    单兴华CTO-学习Mysql经典教程-第07章Perl DBI API.pdf

    接着,使用 `DBI->connect()` 方法连接到 MySQL 数据库,并在发生错误时使用 `die` 抛出异常信息。 接下来,脚本准备并执行一个 SQL 查询,选择 `members` 表中的所有列。查询结果通过 `fetchrow_array()` 方法逐行...

    如何Perl使用Access数据库

    本文将详细讲解如何在Perl环境中使用Access数据库,主要涉及Perl的DBI模块和DBD::ODBC模块的安装以及如何编写Perl脚本来连接和操作Access数据库。 首先,要使用Perl与Access数据库进行通信,你需要安装两个关键模块...

    使用Perl DBI操作MySQL的一些建议

    在使用Perl进行MySQL数据库操作时,DBI(Database Interface)模块是必不可少的工具,而DBD::MySQL则是DBI的一个驱动,专门用于与MySQL数据库交互。以下是一些使用Perl DBI操作MySQL时的重要建议和注意事项: 1. **...

    DBD-mysql:Perl5数据库接口(DBI)MySQL驱动程序

    DBD-mysql是Perl5语言的一个数据库接口模块,它是针对MySQL数据库系统设计的DBI(Database Interface)驱动程序。DBI是Perl社区广泛使用的数据库抽象层,它提供了一个统一的接口来访问各种不同的数据库系统,使得...

    PERL_DBI手册.pdf

    DBI手册详细介绍了如何使用DBI模块进行数据库编程,包括连接数据库、执行SQL语句、处理数据以及事务管理等方面的内容。 首先,DBI应用程序的基本架构包括DBI类和DBD驱动,其中DBI类是核心,它定义了一系列的方法和...

Global site tag (gtag.js) - Google Analytics