標籤:使用 os 資料 re c ar
perl中DBI模組為mysql資料庫相關操作的介面,首先需要在環境中安裝DBI模組。perl處理資料庫操作的大致步驟如下:
#聲明使用DBI模組
use DBI;
#設定資料庫連接參數,指定串連資料庫名,資料庫所在伺服器ip地址,串連使用者名稱,密碼
# db_name為要串連的資料庫名,ip為資料庫所在伺服器ip地址
my $database=‘DBI:mysql:database=db_name;host=ip‘;
my $user=‘user_name‘;
my $pw=‘password‘;
#串連資料庫
my $dbh=DBI->connect($database,$user,$pw,{‘RaiseError‘=>1})||die "can‘t connect to the database:$DBI::errstr\n";
# 如需要支援中文,則執行如下語句。以保證中文資料以用utf8編碼方式儲存到資料庫中。同時注意使用資料庫用戶端時也要用uft8編碼查看資料,否則查看到的資料可能亂碼。
$dbh->do("set names utf8");
以下列舉幾個資料操作:
統計記錄總數:
# key_word為表的主鍵,table_name
my $sql0="select count(key_word) from table_name";
my $sth0=$dbh->prepare("$sql0");
$sth0->execute();
#讀取一行資料,並將資料放入數組中。
my $ref0= $sth0->fetchrow_array();
print "$ref0\n";
$sth0->finish();
迴圈處理查詢並更新一張表的記錄
# 從表中查詢記錄
my $sql="select * from table_name";
my $sth=$dbh->prepare("$sql");
$sth->execute();
# $sth->fetchrow_hashref()作為一個雜湊表的引用取出下一行。這個方法取一行資料並且返回包含欄位名/值對的一個雜湊表的一個引用。
while(my $ref= $sth->fetchrow_hashref())
{
# 列印記錄欄位,id為主鍵
print "$ref->{‘id‘} $ref->{‘segment1‘} $ref->{‘segment2‘}\n";
#更新記錄
my $update_sql="update table_name set segment1=value1 segment2=value2 where id=$ref->{‘id‘}";
my $update_sth=$dbh->prepare("$update_sql");
$update_sth->execute();
$update_sth->finish();
}
# 迴圈結束,進行結束操作。
$sth->finish();
#所有資料庫操作結束,斷開資料庫連接。
$dbh->disconnect();