`
qzriso
  • 浏览: 236368 次
  • 性别: Icon_minigender_1
  • 来自: ph
社区版块
存档分类
最新评论

Perl DBI连接MySQL数据库

    博客分类:
  • perl
阅读更多

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) affectedn";

# 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->{'username'}n";
print "Country: $ref->{'country'}n";
print "----------n";
}

# 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() 方法结束会话。
分享到:
评论

相关推荐

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

    通过使用DBI,用Perl可以很容易的连接到mysql数据库: 代码如下: 复制代码 代码如下:#!/bin/perl use DBI; # Connect to target DB my $dbh = DBI->connect(“DBI:mysql:database=eygle;host=localhost”,”...

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

    有时候需要perl操作mysql数据库,可以通过DBI实现,需要的朋友可以参考下

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

    使用perl连接mysql,这个网上有很多案例了,一般大家都是DBI下的DBD::MySQL这个模块进行.这里做一个mask弄一个TIPS:  Perl DBI MySQL的字符集为UTF8  Perl DBI 特殊字符写入时报错  Perl DBI 连接自动重连或是...

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

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

    PERL_DBI手册.pdf

    perl的DBI使用手册,详细描述了如何连接数据库,如何使用dbi模块,对于使用perl语言进行运维,开发的小伙伴希望带来帮助

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

    单兴华CTO-学习Mysql经典教程-第07章Perl DBI API.pdf 单兴华CTO-学习Mysql经典教程-第08章PHP API.pdf 单兴华CTO-学习Mysql经典教程-第09章MySQL 管理介绍.pdf 单兴华CTO-学习Mysql经典教程-第10章MySQL 数据目录....

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

    单兴华CTO-学习Mysql经典教程-第07章Perl DBI API.pdf 单兴华CTO-学习Mysql经典教程-第08章PHP API.pdf 单兴华CTO-学习Mysql经典教程-第09章MySQL 管理介绍.pdf 单兴华CTO-学习Mysql经典教程-第10章MySQL 数据目录....

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

    许多WEB应用程序内部通常重复运行带不同自变量的相同数据库查询,或以全有或全无块的形式 执行一组相关查询。...本文讨论了支持MySQL事务和预编译查询的Perl DBI函数,并对其工作原理和应用方法进行说明。

    Web应用安全:PerMySQL的安全连接方法.pptx

    Perl 5 中我们可以使用 DBI 模块来连接数据库。 DBI 英文全称:Database Independent Interface,中文称为数据库独立接口。 DBI 作为 Perl 语言中和数据库进行通讯的标准接口,它定义了一系列的方法,变量和常量,...

    perl-DBI-1.616-1.el5.rfx.i386.rpm

    ********Shenkxiao ...注:>在安装mysql数据库的时候经常出现DBI is needed by ……,需要根据实际版本进行选择rpm的版本。 >此包在系统盘或者系统镜像中Server目录下有。 ***********************************

    mysql网络数据库指南(中文版) part1

    MySQL 是完全网络化的跨平台关系型数据库系统,同时是具有客户机/服务器体系结构的分布式数据库管理系统。它具有功能强、使用简便、管理方便、运行速度快、安全可靠性强等优点,用户可利用许多语言编写访问MySQL ...

    MYSQL网络数据库PDF学习资源

    MySQL 是完全网络化的跨平台关系型数据库系统,同时是具有客户机/服务器体系结构的分布式数据库管理系统。 它具有功能强、使用简便、管理方便、运行速度快、安全可靠性强等优点,用户可利用许多语言编写访问MySQL ...

    RHEL 6平台MySQL数据库服务器的安装方法

    MySQL数据库是Linux操作系统上用得最多的数据库系统,它可以非常方便的与其它服务器集成在一起,如Apache、Vsftpd、Postfix等。下面介绍RHEL 6平台MySQL数据库服务器的安装方法。 1、安装完整的MySQL数据库需要...

    单兴华CTO-学习Mysql经典教程-第13章数据库维护和修复.pdf

    单兴华CTO-学习Mysql经典教程-第07章Perl DBI API.pdf 单兴华CTO-学习Mysql经典教程-第08章PHP API.pdf 单兴华CTO-学习Mysql经典教程-第09章MySQL 管理介绍.pdf 单兴华CTO-学习Mysql经典教程-第10章MySQL 数据目录....

    单兴华CTO-学习Mysql经典教程-附录E MySQL 程序参考.pdf

    单兴华CTO-学习Mysql经典教程-第07章Perl DBI API.pdf 单兴华CTO-学习Mysql经典教程-第08章PHP API.pdf 单兴华CTO-学习Mysql经典教程-第09章MySQL 管理介绍.pdf 单兴华CTO-学习Mysql经典教程-第10章MySQL 数据目录....

    单兴华CTO-学习Mysql经典教程-第06章MySQL C API.pdf

    单兴华CTO-学习Mysql经典教程-第07章Perl DBI API.pdf 单兴华CTO-学习Mysql经典教程-第08章PHP API.pdf 单兴华CTO-学习Mysql经典教程-第09章MySQL 管理介绍.pdf 单兴华CTO-学习Mysql经典教程-第10章MySQL 数据目录....

    MySQL中文参考手册.chm

    pthreads 注意事项 4.10 Perl 安装说明 4.10.1 在Unix操作系统上安装 Perl 4.10.2 在 Win32上安装 ActiveState Perl 4.10.3 在 Win32 上安装 MySQL Perl 分发 4.10.4 使用 Perl DBI/DBD接口...

    在Ruby程序中连接数据库的详细教程

    Ruby DBI 模块为 Ruby 脚本提供了类似于 Perl DBI 模块的独立于数据库的接口。 DBI 即 Database independent interface,代表了 Ruby 独立于数据库的接口。DBI 在 Ruby 代码与底层数据库之间提供了一个抽象层,允许...

Global site tag (gtag.js) - Google Analytics