#!/usr/bin/perl -w
use DBI;
use strict;
my $dbh=DBI->connect("DBI:mysql:database=cacti;host=localhost","root","admin",{'RaiseError'=>1});
my $sql = $dbh->prepare("select * from settings");
$sql->execute();
while (my @row = $sql->fetchrow_array ){
print "@row\n";
}
$dbh->disconnect();mysql
perl链接mysql有两种操做顺序:sql
(1) my $sql = $dbh->do("select * from settings");数据库
直接执行,而后在返回数据。数组
(2)my $sql = $dbh->prepare("select * from settings");服务器
准备着,只有遇到$sql->execute();时才执行。ide
链接和处理数据库的一些语句:fetch
connect 创建到一个数据库服务器的链接
disconnect 断开数据库服务器的链接
prepare 准备执行一个SQL语句
execute 执行准备好的语句
do 准备并执行一个SQL语句
quote 加引号于要插入的字符串或BLOB值
fetchrow_array 做为一个字段数组取出下一行
fetchrow_arrayref 做为一个字段的引用数组取出下一行
fetchrow_hashref 做为一个哈希表的引用取出下一行
fetchall_arrayref 做为一个字段数组取出全部数据
finish 完成一条语句而且让系统释放资源
rows 返回受影响的行数
data_sources 返回可在localhost上获得的数据库的数组
ChopBlanks 控制fetchrow_*方法是否剥去空格
NUM_OF_PARAMS 在准备的语句中的占位(placeholder-参数)的数目
NULLABLE 其列能够是NULL
trace 执行调试跟踪调试