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技術的優質平台!