`
Tristan_S
  • 浏览: 385413 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

perl - 操作数据库

    博客分类:
  • perl
阅读更多
插入DB
use strict;
use DBI;
use DBD::Oracle;

my $dbh=DBI->connect('DBI:Oracle:host=localhost;SID=XE','tristan','654321',{PrintError=>1,RaiseError=>1,ora_session_mode=>2});

my $sql = qq{ CREATE TABLE tristan.employees ( id INTEGER NOT NULL, 
                                       name VARCHAR2(128), 
                                       title VARCHAR2(128), 
                                       phone CHAR(8) 
                                     ) };
$dbh->do( $sql );

$dbh->disconnect();


访问数据库的代码
use strict;
use DBI;
use DBD::Oracle;

my $dbh=DBI->connect('DBI:Oracle:host=localhost;SID=XE','tristan','654321',{PrintError=>1,RaiseError=>1,ora_session_mode=>2});

my $sql = "select accout_no, cust_name from tristan.tbl_cust_info";
my $sth = $dbh->prepare($sql);
$sth->execute();

#my( $a, $b);
#$sth->bind_columns( \$a, \$b);
#while($sth->fetchrow()) {
#  print "$a, $b\n";
#}

my @row;
while(@row=$sth->fetchrow_array()) {
  print "$row[0], $row[1]\n";
}

$sth->finish();
$dbh->disconnect(); 



插入DB
#!c:/perl/bin/perl -X
use DBI;
use DBD::Oracle;

my $dbh=DBI->connect('DBI:Oracle:host=localhost;SID=XE','tristan','654321',{RaiseError=>1, AutoCommit => 0});

my @records = (
                [ 0, "Larry Wall",      "Perl Author",  "555-0101" ],
                [ 12, "Tim Bunce",       "DBI Author",   "555-0202" ],
                [ 2, "Randal Schwartz", "Guy at Large", "555-0303" ],
                [ 3, "Doug MacEachern", "Apache Man",   "555-0404" ] 
              );

my $sql = qq{ INSERT INTO tristan.employees VALUES ( ?, ?, ?, ? ) };
my $sth = $dbh->prepare( $sql );

for( @records ) {
  eval {
    $sth->bind_param( 1, @$_->[0],  { TYPE => SQL_INTEGER } );
    $sth->bind_param( 2, @$_->[1],  { TYPE => SQL_VARCHAR } );
    $sth->bind_param( 3, @$_->[2], { TYPE => SQL_VARCHAR } );
    $sth->bind_param( 4, @$_->[3], { TYPE => SQL_VARCHAR } );
    $sth->execute();
    $dbh->commit();
  };

  if( $@ ) {
    warn "Database error: $DBI::errstr\n";
    $dbh->rollback(); #just die if rollback is failing
  }
}

$sth->finish();
$dbh->disconnect();


分享到:
评论

相关推荐

    perl-DBD-MySQL-4.023-6.el7.x64-86.rpm.tar.gz

    文件中的 "perl-DBD-MySQL" 指的是用于Perl语言的MySQL数据库驱动模块,版本为4.023,适用于64位的EL7(Enterprise Linux 7,即红帽企业版Linux 7)系统。而 "tar.gz" 是一个常见的压缩文件格式,它使用 tar 工具来...

    perl-5.32.1.tar.gz

    此外,Perl也常用于系统管理、网络编程、图形编程、数据库接口以及Web开发等多个方面。 在“perl-5.32.1”这个源代码包中,包含了Perl解释器的全部源代码,开发者可以对其进行编译和定制,以适应特定的系统环境或...

    mysql mha相关的包perl-Log-Dispatch

    MHA(Master High Availability)目前在...在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。

    ActivePerl-5.20.2MSWin32

    标题“ActivePerl-5.20.2MSWin32”指的是ActivePerl的一个特定版本,适用于Windows操作系统。ActivePerl是Perl编程语言的一个流行的预编译版本,为Windows平台提供了便利的安装和使用环境。这个版本号5.20.2表示它...

    perl-5.004.tar.gz

    Perl强调的是实用性和可读性,它支持正则表达式、列表操作、文件处理等功能,这使得Perl在处理文本、日志文件和系统管理任务时特别有效。 压缩包中的"perl-5.004"包含了Perl 5.004版本的所有源代码文件,这包括核心...

    strawberry-perl-5.30.0.1-64bit.rar

    标题中的"strawberry-perl-5.30.0.1-64bit.rar"表明我们正在讨论的是Strawberry Perl的一个特定版本,即5.30.0.1,适用于64位操作系统,并且它被压缩在RAR格式的文件中。Strawberry Perl是一个在Windows平台上运行的...

    ActivePerl-5.8.8.822-MSWin32-x86-280952.zip

    CPAN是Perl模块的大型仓库,包含数千个第三方模块,涵盖了从网络编程到数据库接口等各种功能。安装完ActivePerl后,用户可以通过内置的PPM(Perl Package Manager)工具方便地安装和管理这些模块。 总结来说,这个...

    ActivePerl-5.28.1.0000-x86_64-linux-glibc-2.12-4898c4be.tar.gz

    Perl的强大之处在于其丰富的标准库和第三方模块,比如CPAN(Comprehensive Perl Archive Network)提供了超过18万个模块,涵盖了各种各样的功能,从数据库接口到XML解析,再到图形用户界面。 对于开发者来说,...

    perl-mingw32-0.1-x86

    在实际应用中,用户可能需要结合其他Perl模块,如CGI模块进行Web开发,或者使用DBI模块进行数据库操作。同时,熟悉Perl的异常处理、正则表达式以及文件操作也是必不可少的技能。 总的来说,"perl-mingw32-0.1-x86...

    perl-Encode-devel-2.51-7.el7.x64-86.rpm.tar.gz

    在信息技术领域,尤其是在Linux操作系统环境下,RPM(Red Hat Package Manager)是一种用于安装、卸载、管理和查询软件包的工具。RPM软件包管理系统最初由Red Hat公司开发,但现在被广泛应用于多个Linux发行版中。在...

    ActivePerl-5_ActivePerl5.28_ActivePerl.zip

    5. **模块更新**:ActivePerl会包含Perl核心模块的最新版本,这些模块可能包括CGI处理、数据库接口、XML解析等。 安装ActivePerl后,用户可以使用Perl脚本来执行各种任务,比如文件操作、系统管理、网络通信,甚至...

    ActivePerl-5.8.6.811-MsWin32-X86.msi

    4. 适合脚本编写:Perl非常适合编写系统管理脚本,因为它可以轻松地与操作系统交互,执行文件操作、系统调用等。 5. 丰富的编程范式:Perl支持面向过程、面向对象和函数式编程,具有很高的可扩展性。 在给定的...

    perl-CGI-Session-4.35-16.el7.x64-86.rpm.tar.gz

    例如,perl-DBI模块是Perl语言的数据库接口,用于连接和操作数据库系统,而perl-DBD-Pg模块是专门用于连接PostgreSQL数据库的驱动程序。这些模块共同构成了一个完整的开发环境,使得Perl开发者能够在Web应用中利用...

    perl-CPANPLUS-Dist-Build-0.70-3.el7.x64-86.rpm.tar.gz

    例如,perl-DBD-SQLite-1.39-3.el7.x86_64.rpm是为Perl语言提供SQLite数据库支持的驱动模块,perl-DBI-1.627-4.el7.x86_64.rpm是Perl的数据库接口,perl-devel-5.16.3-299.el7_9.x86_64.rpm提供了Perl语言的开发工具...

    ActivePerl-5.16.3 win7 32bit

    在使用ActivePerl时,用户可以利用CPAN(Comprehensive Perl Archive Network)来获取和安装额外的Perl模块,这些模块极大地扩展了Perl的功能,涵盖了数据库接口、图形处理、网络编程等多个领域。ActivePerl也提供了...

    perl-DBI-1.40-5.i386.rar

    Perl DBI,全称是Database Independent Interface(数据库独立接口),是一个Perl编程语言的数据库接口模块。这个"perl-DBI-1.40-5.i386.rar"压缩包包含的是Perl DBI的1.40版本,适用于i386架构的系统。这个版本的...

    perl-core-5.16.3-299.el7-9.x64-86.rpm.tar.gz

    4. perl-DBI-1.627-4.el7.x86_64.rpm - DBI是数据库接口模块,用于Perl与数据库之间的连接,该版本是适用于el7(Enterprise Linux 7)的64位版本。 5. perl-libs-5.16.3-299.el7_9.x86_64.rpm - 这是Perl核心库的库...

    perl的DBI安装包以及安装步骤

    5. **编写Perl脚本**:现在你可以使用DBI模块编写Perl脚本来连接和操作数据库了。基本的连接代码如下: ```perl use DBI; my $dbh = DBI->connect("dbi:mysql:database=your_database", "username", "password") ...

    perl-DBD-Pg-tests-2.19.3-5.el7-9.x64-86.rpm.tar.gz

    从给定的文件信息中,我们可以提取出关于...它包含了必要的依赖,提供了安装步骤,并提供了获取安装帮助的方式,这对于需要在特定版本的Linux系统上运行Perl脚本,特别是需要操作PostgreSQL数据库的应用时非常有用。

    Perl-DBI编程

    Perl-DBI(Database Interface)是Perl中的一个数据库接口模块,它提供了一种统一的方式,用于访问各种不同的数据库系统。DBI的设计使得程序员可以编写独立于特定数据库的代码,这样即使更改了后端数据库类型,也不...

Global site tag (gtag.js) - Google Analytics