#!/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 執行調試跟蹤調試