加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

使用perl连接和操作postgresql数据库

发布时间:2020-12-15 21:00:03 所属栏目:大数据 来源:网络整理
导读:使用环境:linux OpenSUSE 1)检查安装环境 ?? (1) 查找DBI:zypper search DBI ????????????? 安装DBI:zypper search perl-DBI ?? (2) 查找DBD Pg:zypper search DBD ???????????? 安装DBD Pg:zypper install perl-DBD-Pg 2)?? 编写perl脚本: #! /u

使用环境:linux OpenSUSE

1)检查安装环境
?? (1) 查找DBI:zypper search DBI

????????????? 安装DBI:zypper search perl-DBI
?? (2) 查找DBD Pg:zypper search DBD
???????????? 安装DBD Pg:zypper install perl-DBD-Pg

2)?? 编写perl脚本:

#! /usr/bin/perl
use strict;
use Data::Dumper;??????????? --用于select返回数据集?
use DBI;
my $driver="Pg";
my $database_name = "xxxx";
my $host = "localhost";??? --"IP adrress"
my $port= "5432";
my $database ="dbi:$driver:dbname=$database_name;host=$host;port=$port";?? -- 构造
my $db_user = "postgres";??????? --用户名??
my $db_passwd = "postgres";?? --密码
## 连接.
#my $dbh=DBI->connect("dbi:$driver:dbname=$database_name;host=$host;port=$port",$db_user,$db_passwd,{ RaiseError => 1,AutoCommit => 0 }) or die $DBI::errstr;???? --如果不构造前面的database,可以使用这句直接连接数据库。其中AutoCommit表示是否自动提交
my $dbh=DBI->connect($database,$db_passwd) or die "can''t connect!";??? -- 使用构造的database来连接数据库,AutoCommit默认为1
if ($dbh)
{????????? print "pgconnect ok! n";
?????????? print "my $dbh->port(); n";
}else{

??????????print "pgconnect false! n";
?????????? print "my $dbh->port(); n";
}

my $sth = $dbh->prepare("select * from student " )or die "Syntax error:$!n";?? -- 查询
$sth->execute();?????????? --执行

while(my $row=$sth->fetchrow_hashref())? --获取select的结果集
{
??? print Dumper($row);
}
my $sth = $dbh->prepare("insert into student values(3,'zhang','m') " )or die "Syntax error:$!n"; --插入数据
$sth->execute();

my $sth = $dbh->prepare(qq{delete from student where id = 3})or die "Syntax error:$!n";?? --删除数据 $sth->execute(); $dbh->disconnect();??? --关闭数据库

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读