現在的位置: 首頁 > 演算法 > 正文

如何實現Perl與MySQL相互通訊的操作

2020年05月22日 演算法 ⁄ 共 1937字 ⁄ 字型大小 評論關閉

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

抱歉!評論已關閉.