Perl中一个最酷的模块就是Perl数据库接口(PerlDatabaseInterface,简称DBI)。通过提供一系列在内部上能够转化成原始调用函数的功能,DBI模块为很多不同的数据库提供了一个统一的接口。由此,使用Perl就可以很容易地利用数据库和建立动态Web网页。下面学步园小编来讲解下如何实现Perl与MySQL相互通讯的操作?
如何实现Perl与MySQL相互通讯的操作
下载和安装
开始,下载并安装PerlDBI模块和MySQLDBD。通过在Perl命令行中运行以下命令即可完成安装过程:
perl>perl-MCPAN-e"installDBI"
perl>perl-MCPAN-e"installDBD::mysql"
注意:你可以手动下载和安装DBI和MySQLDBD。
现在PerlDBI和MySQLDBD应该安装在你的系统中。
然后,通过在MySQL用户端命令行输入以下命令,以建立一个用于SQL查询的表格。
mysql>CREATETABLEusers(idINT(4)PRIMARYKEY,usernameVARCHAR(25),countryVARCHAR(2));
QueryOK,0rowsaffected(0.11sec)
mysql>INSERTINTOusersVALUES(1,'john','IN'),(2,'tom','US'),(3,'layla','US');
QueryOK,3rowsaffected(0.11sec)
Records:3Duplicates:0Warnings:0
一旦建立表格,继续使用DBI方法建立一个脚本模板(见表A)。
表A
#!/bin/perl
#loadmodule
useDBI;
#connect
my$dbh=DBI->connect("DBI:mysql:database=db2;host=localhost","joe","guessme",{'RaiseError'=>1});
#executeINSERTquery
my$rows=$dbh->do("INSERTINTOusers(id,username,country)VALUES(4,'jay','CZ')");
print"$rowsrow(s)affected";
#executeSELECTquery
my$sth=$dbh->prepare("SELECTusername,countryFROMusers");
$sth->execute();
#iteratethroughresultset
#printvalues
while(my$ref=$sth->fetchrow_hashref()){
print"User:$ref->";
print"Country:$ref->";
print"----------";
}
#cleanup
$dbh->disconnect();
如何实现Perl与MySQL相互通讯的操作
四个步骤
当使用PerlDBI执行一个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()方法结束会话。
当你下回继续在Perl中编写MySQL数据库连接代码时,这一脚本模块将可为你节省时间。
以上就是关于“如何实现Perl与MySQL相互通讯的操作”的内容,希望对大家有用。更多资讯请关注学步园。学步园,您学习IT技术的优质平台!