脚本专栏 
首页 > 脚本专栏 > 浏览文章

perl数据库添加、删除、更新、查询操作例子

(编辑:jimmy 日期: 2024/5/9 浏览:3 次 )

注意:连接时候使用SID指定的database,所以没有在连接中指定database.

#!/usr/bin/perl
use strict;
use warnings;
use DBI;
my $db_name="geneva_admin";
my $db_passwd="geneva_admin";

my $dbh=DBI->connect("dbi:Oracle:","$db_name","$db_passwd")
 or die "Can't connect to oracle database:$DBI::errstr\n";
 
my $sth=$dbh->prepare("select a,b
   from a_tmp
   where a=2")
 or die "Can't prepare SQl prepare:$DBI::errstr\n";
$sth->execute or die "Can't execute:$DBI::errstr\n";
while (my @row = $sth->fetchrow_array()){
 my ($a,$b) = @row;
 print "1..\$a=$a,\$b=$b\n";
}
$sth->finish();
my $row=3;
my $sql="select a,b
 from a_tmp
 where a = ";
$sth=$dbh->prepare($sql) or die "Can't prepare SQl prepare:$DBI::errstr\n";
$sth->execute($row) or die "Can't execute:$DBI::errstr\n";
while (my @row = $sth->fetchrow_array()){
 my ($a,$b) = @row;
 print "2..\$a=$a,\$b=$b\n";
}
$sth->finish();
my $row_a=3;
my $row_c=0;
$sql="select a,b
 from a_tmp
 where a = ";
$sth=$dbh->prepare($sql) or die "Can't prepare SQl prepare:$DBI::errstr\n";
$sth->execute($row_a,$row_c) or die "Can't execute:$DBI::errstr\n";
while (my @row = $sth->fetchrow_array()){
 my ($a,$b) = @row;
 print "3..\$a=$a,\$b=$b\n";
}
$sth->finish();
for $row(1,2,3){
$sql="select a,b
 from a_tmp
 where a = ";
$sth=$dbh->prepare($sql) or die "Can't prepare SQl prepare:$DBI::errstr\n";
$sth->execute($row) or die "Can't execute:$DBI::errstr\n";
while (my @row = $sth->fetchrow_array()){
 my ($a,$b) = @row;
 print "4..\$a=$a,\$b=$b\n";
}
}
$sth->finish();
#for $row(1,2,3){
#$sql="insert into a_tmp
#   values (";
#$sth=$dbh->prepare($sql) or die "Can't prepare SQl prepare:$DBI::errstr\n";
#$sth->execute($row,$row+1,$row+2) or die "Can't execute:$DBI::errstr\n";
#}
##$dbh->commit;
#$sth->finish();

#$sql="insert into a_tmp
#   values (100,30,2)";
#$sth=$dbh->prepare($sql) or die "Can't prepare SQl prepare:$DBI::errstr\n";
#$sth->execute or die "Can't execute:$DBI::errstr\n";
##$dbh->commit;
#$sth->finish();
for $row(1,2,3){
$sql="update a_tmp 
   set b = ";
$sth=$dbh->prepare($sql) or die "Can't prepare SQl prepare:$DBI::errstr\n";
$sth->execute($row+100,$row+50,$row) or die "Can't execute:$DBI::errstr\n";
}
#$dbh->commit;
$sth->finish();

for $row(1,2,3){
$sql="delete from a_tmp
   where c=2";
$sth=$dbh->prepare($sql) or die "Can't prepare SQl prepare:$DBI::errstr\n";
$sth->execute or die "Can't execute:$DBI::errstr\n";
}
#$dbh->commit;
$sth->finish();

$dbh->do("insert into a_tmp values (1,1,1)") or die "$DBI::errstr\n";
$dbh->do("delete from a_tmp where c=51")   or die "$DBI::errstr\n";
#$dbh->commit;
$sth->finish();
$dbh->disconnect;

上一篇:使用perl实现拆分数据表(mysql)并迁移数据实例
下一篇:perl中使用ip138网站查询ip归属地脚本分享
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网