`

使用perl连接mysql数据库

阅读更多

用Perl DBI连接MySQL数据库

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"

现在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 查询时,请遵循四个简单的步骤:

开始时,通过调用connect() 方法初始化数据库的句柄。connect() 方法接收连接参数并作为字符串,包括数据库类型("mysql"),主机名称("localhost"),以及数据库名称("db2")。数据库名称("joe")和密码("guessme")作为第二和第三个变量提供给connect() 方法。
建立SQL查询字符串,并使用do()或prepare()以及execute()方法执行查询语句。do()方法是针对于一次性使用的INSERT,UPDATE或者DELETE查询,但prepare()和execute()方法针对的是SELECT查询。使用这些方法得到的对象将有所不同,这取决于查询的类型,查询结果是否成功也是如此。成功的SELECT查询将返回一个结果对象,成功的INSERT/UPDATE/DELETE 查询将返回一些相关的行。而不成功的查询将返回一个错误。
对于SELECT查询,结果对象将被进一步处理以提取数据。使用一个循环,fetchrow_hashref()方法将返回每一记录作为Perl的信号。
通过调用disconnect()方法结束会话。

分享到:
评论

相关推荐

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

    主要介绍了通过dbi使用perl连接mysql数据库的方法,需要的朋友可以参考下

    数据库NavicatforMySQL应用安装包+Java连接程序+数据库访问要点

    2010年以前Internet上流行的网站构架方式是LAMP,即是用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP(部分网站也使用Perl或Python)作为服务器端脚本解释器。由于这四个软件都是开放源码软件,...

    Python Mysql数据库操作 Perl操作Mysql数据库

    首先下载 MySQLdb #encoding=GBK import MySQLdb #import sys # #reload(sys) #sys.setdefaultencoding(‘utf-8’) print ‘Connection …’ host=’192.168.1.77′ user=’root’ passwd=’123456′ db=’test’ ...

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

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

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

    Per MySQL的安全连接方法 Per MySQL的安全连接方法 1、什么是Perl Perl 是 Practical ...2、Perl连接MySQL Per MySQL的安全连接方法 DBI结构 DBI 和具体数据库平台无关,我们可以将其应用在Oracle, MySQL 或 I

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

    它具有功能强、使用简便、管理方便、运行速度快、安全可靠性强等优点,用户可利用许多语言编写访问MySQL 数据库的程序,另外,MySQL在UNIX等操作系统上是免费的,在Windows操作系统上,可免费使用其客户机程序和客户...

    MYSQL网络数据库PDF学习资源

    它具有功能强、使用简便、管理方便、运行速度快、安全可靠性强等优点,用户可利用许多语言编写访问MySQL 数据库的程序, 另外,MySQL在UNIX等操作系统上是免费的,在Windows操作系统上,可免费使用其客户机程序和...

    mysql-5.7.15-winx64.zip

    MySQL - MySQL服务器。你需要该选项,除非你只想连接运行在另一台机器上的MySQL服务器。 MySQL-client - MySQL 客户端程序,用于连接并操作Mysql服务器。...MySQL-bench - MySQL数据库服务器的基准和性能测试工具。

    这是一个使用HTML构建前端,使用PHP搭建后台,使用mysql构造数据库的学生教师信息管理系统.zip

    PHP提供mysqli、PDO等数据库扩展,能够无缝连接MySQL,进行SQL查询、数据插入、更新、删除等操作,实现动态网站的数据持久化。此外,PHP还支持与其他数据库系统的连接,如PostgreSQL、SQLite、Oracle等,具有良好的...

    MYSQL

    9.4 MySQL数据库表类型 10 从 MySQL 得到最大的性能 10.1 优化概述 10.2 系统/编译时和启动参数的调节 10.2.1 编译和链接如何影响 MySQL 的速度 10.2.2 磁盘问题 10.2.2.1 为数据库和...

    MySql 5.1 参考手册.chm

    1.4. MySQL数据库管理系统概述 1.4.1. MySQL的历史 1.4.2. MySQL的的主要特性 1.4.3. MySQL稳定性 1.4.4. MySQL表最大能达到多少 1.4.5. 2000年兼容性 1.5. MaxDB数据库管理系统概述 1.5.1. 什么是MaxDB? 1.5.2. ...

    mysql安装教程 包含下载安装以及密码修改

    mysql安装配置教程(linux和window) Linux平台上推荐使用RPM包来安装Mysql,MySQL AB提供了以下RPM包的下载地址: - MySQL - MySQL服务器。...- MySQL-bench - MySQL数据库服务器的基准和性能测试工具。

    MySQL中文参考手册.chm

    9.4 MySQL数据库表类型 10 从 MySQL 得到最大的性能 10.1 优化概述 10.2 系统/编译时和启动参数的调节 10.2.1 编译和链接如何影响 MySQL 的速度 10.2.2 磁盘问题 10.2.2.1 为数据库...

    MySQL中文参考手册

    + 3.4.4 运营一个使用MySQL的Web服务器 o 3.5 MySQL的许可证和技术支持费用 + 3.5.1 付款信息 + 3.5.2 联系信息 o 3.6 商业性支持的类型 + 3.6.1 基本的电子邮件支持 + 3.6.2 扩展的电子邮件支持 + 3.6.3 ...

    MySQL 5.1中文手冊

    1.4. MySQL数据库管理系统概述 1.4.1. MySQL的历史 1.4.2. MySQL的的主要特性 1.4.3. MySQL稳定性 1.4.4. MySQL表最大能达到多少 1.4.5. 2000年兼容性 1.5. MaxDB数据库管理系统概述 1.5.1. 什么是MaxDB? 1.5.2. ...

    MYSQL 5.7.12.zip

    MySQL (数据库服务器)是一款小型关联式数据库管理系统,MySQL (数据库服务器)的执行性能非常高,运行速度非常快,并非常容易使用,是一个非常捧的数据库。MySQL (数据库服务器)在世界上是最流行的数据库语言。...

    MySQL 5.1参考手册

    1.4. MySQL数据库管理系统概述 1.4.1. MySQL的历史 1.4.2. MySQL的的主要特性 1.4.3. MySQL稳定性 1.4.4. MySQL表最大能达到多少 1.4.5. 2000年兼容性 1.5. MaxDB数据库管理系统概述 1.5.1. 什么是MaxDB? ...

    Shell、Perl、Python、PHP访问 MySQL 数据库代码实例

    既然在 shell 里可以直接用 mysql 命令操作数据库,那么在 shell script 里也应该可以通过调用 mysql 来操作数据库。比如用下面的 bash shell 脚本查询数据库: Bash 代码如下: #!/bin/bash mysql -uvpsee -p...

Global site tag (gtag.js) - Google Analytics