perl 连接 mysql 数据库

1.# cpan DBI
2.perl 连接数据库 脚本

#!/usr/bin/perl -w

#The script is used to connect mysql and show table members of the 
#database library 

use DBI();
#connect

my $dbh = DBI->connect("DBI:mysql:database=library;mysql_socket=/data01/mysql/mysql.sock;host=localhost","root","1234567",
        {'RaiseError'=>1,'AutoCommit'=>0});
#execute query

#my $sth = $dbh->prepare("SELECT * from members");

#$sth->execute();

eval 
{
    #insert data to members

        $dbh->do("insert into members values (NULL,'cao','jiang','55256262','ceaglechina\@gmail.com')");
        $dbh->commit();

};
#iterate through resultset

my $sth = $dbh->prepare("SELECT * from members");
$sth->execute();
print "member_id\tfname\tlname\ttel\t\temail","\n";
while (my $ref = $sth->fetchrow_hashref()) {
  print "$ref->{'member_id'}\t\t$ref->{'fname'}\t$ref->{'lname'}\t$ref->{'tel'}\t$ref->{'email'}\n";
}

#Delete the data

eval
{
    $dbh->do("delete from members where fname = 'cao' ");
    $dbh->commit();

};

$sth->execute();
print "member_id\tfname\tlname\ttel\t\temail","\n";
while (my $ref = $sth->fetchrow_hashref()) {
  print "$ref->{'member_id'}\t\t$ref->{'fname'}\t$ref->{'lname'}\t$ref->{'tel'}\t$ref->{'email'}\n";
}



if ($@){
    print "Transaction aborted:$@";
    $dbh->rollback();
}
#clean up

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

报错:install_driver(mysql) failed: Can't locate DBD/mysql.pm in @INC
解决:yum install perl-DBD-MySQL
报错:DBI connect('database=library;host=localhost','root',...) failed: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)
解决: my $dbh = DBI->connect("DBI:mysql:database=library;mysql_socket=/data01/mysql/mysql.sock;host=localhost","root","1234567",
        {'RaiseError'=>1,'AutoCommit'=>0});
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值