Perl中一個很重要的模塊就是DBI模塊(Perl Database Interface,數據庫接口)。DBI模塊為很多不同的數據庫提供了一個統一的接口。Perl通過此接口可以很容易對數據庫進行操作。結構圖如下: 下面說下Perl如何對MySQL數據庫進行操作。 1. 首先要確保Perl及MySQL
Perl中一個很重要的模塊就是DBI模塊(Perl Database Interface,數據庫接口)。DBI模塊為很多不同的數據庫提供了一個統一的接口。Perl通過此接口可以很容易對數據庫進行操作。結構圖如下:
下面說下Perl如何對MySQL數據庫進行操作。
1. 首先要確保Perl及MySQL數據庫已經安裝。然后用cpan或者是ppm圖形化界面來安裝.
cpan> install DBI #安裝數據庫模塊 cpan> install DBD::mysql #安裝數據庫驅動
2. 然后準備測試用數據庫腳本: (admin.sql)
C:\Program Files\MySQL\MySQL Server 5.5\bin> mysql -u root -pabcd
#!C:\Perl\bin\perl -w #導入DBI模塊 use DBI; use utf8; use strict; use warnings; #連接數據庫 my $dbdrive = "mysql"; my $dbname = "admin"; my $hostname = "localhost"; my $port = "3306"; #MySQL數據庫缺省端口 my $database = "DBI:$dbdrive:$dbname:$hostname:$port"; my $db_user = "root"; my $db_pwd = "abcd"; my $dbh = DBI->connect($database,$db_user,$db_pwd) or die DBI::errstr; #執行插入操作 my $rows = $dbh->do("insert into admin_info(admin_id,admin_user,admin_pwd) VALUES (003, 'root', 'root')"); print "$rows row(s) affected!\n"; #執行查詢操作 my $sth = $dbh->prepare("select * from admin_info"); $sth->execute(); #通過結果集進行迭代,并打印 while(my $ref = $sth->fetchrow_hashref()) { print "admin_id: $ref->{'admin_id'}\n"; print "admin_user: $ref->{'admin_user'}\n"; print "admin_pwd: $ref->{'admin_pwd'}\n"; print "----------n"; } #結束會話連接 $dbh->disconnect();
1. 使用connect()函數建立數據庫連接。
2. 使用do()或prepare()以及execute()函數進行插入,查詢,刪除,更新操作
3. 使用fetchrow_hashref()函數,配合while,將遍歷數據,方便打印操作
4. 使用disconnect()函數,斷開數據庫連接,結束文件句柄
總體來說,跟其他語言連數據庫操作步驟類似。
其他標志說明:
Perl推薦使用下列標志作為約定
$dsn 數據庫源名 $dbh 數據庫處理對象 $sth 處理對象聲明 $h 任意上述三種處理類型 ($dbh, $sth, or $drh) $rc 通用返回代碼(boolean: true=ok, false=error) $rv 通用返回值(通常為一個整數) @ary 數據庫中返回的數據列表 $rows 要處理的行數(如果行數不存在的話,返回值為:-1) $fh 文件句柄 undef NULL值在Perl中表示未定義的值 \%attr 引用哈希屬性值傳給方法
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com