Perl資料庫UPDATE操作
Perl 對任何資料庫的 UPDATE 操作意味著更新資料庫表中已存在的⼀條或多條記錄。以下是更新所有 SEX 為 'M' 的記錄的過程。我們將把所有男性的 AGE 增加⼀歲。這將分三個步驟完成:
- 根據所需的條件準備 SQL 查詢。這將使用 **prepare()** API 完成。
- 執行 SQL 查詢以從資料庫中選擇所有結果。這將使用 **execute()** API 完成。
- 釋放語句控制代碼。這將使用 **finish()** API 完成。
- 如果一切順利,則提交此操作;否則,您可以 **回滾**整個事務。有關提交和回滾 API,請參見下一節。
my $sth = $dbh->prepare("UPDATE TEST_TABLE SET AGE = AGE + 1 WHERE SEX = 'M'");
$sth->execute() or die $DBI::errstr;
print "Number of rows updated :" + $sth->rows;
$sth->finish();
$dbh->commit or die $DBI::errstr;使用繫結值
可能存在事先未給出條件的情況。因此,您可以使用繫結變數,這些變數將在執行時獲取所需的值。Perl DBI 模組使用問號代替實際值,然後實際值在執行時透過 execute() API 傳遞。以下是一個示例:
$sex = 'M';
my $sth = $dbh->prepare("UPDATE TEST_TABLE SET AGE = AGE + 1 WHERE SEX = ?");
$sth->execute('$sex') or die $DBI::errstr;
print "Number of rows updated :" + $sth->rows;
$sth->finish();
$dbh->commit or die $DBI::errstr;在某些情況下,您可能希望設定一個事先未給出的值,因此您可以按如下所示使用繫結值。在此示例中,所有男性的收入將設定為 10000。
$sex = 'M';
$income = 10000;
my $sth = $dbh->prepare("UPDATE TEST_TABLE SET INCOME = ? WHERE SEX = ?");
$sth->execute( $income, '$sex') or die $DBI::errstr;
print "Number of rows updated :" + $sth->rows;
$sth->finish();
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP