免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2834 | 回复: 0
打印 上一主题 下一主题

用perl访问mysql数据库(转帖) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-02-23 14:16 |只看该作者 |倒序浏览
用perl访问mysql数据库
作者:nighthawk



一. 安装DBI模块

步骤1:

从TOOLS栏目中下载DBI.zip,下载完后用winzip解开到一个temp目录,共有三个文件:
Readme
DBI.ppd
DBI.tar.gz

步骤2:

在DOS窗口下,temp目录中运行下面的DOS命令:
ppm install DBI.ppd

如果提示无效命令,可在perl/bin目录下运行

二. 安装DBD-Mysql模块

从软件下载中下载DBD-Mysql.zip,安装方法同一.

三. 准备数据库

启动mysql,首先创建一个数据库mydata,然后创建一个表address

mysql>; create database mydata;
Query OK, 1 row affected (0.00 sec)

mysql>; use mydata;
Database changed
mysql>; create table address (
->; id int(5) not null,
->; name varchar(40) not null,
->; email varchar(50) not null,
->; telephone int(12) null);
Query OK, 0 rows affected (0.05 sec)

输入些数据:

mysql>; insert into address values (
->; 1,’Nighthawk’,’nighthawk@163.net’,92384092);
Query OK, 1 row affected (0.00 sec)
四. 下面用perl程序来插入若干记录并做查询.

use DBI;

#连接数据库mydata
my $dbh = DBI->;connect(’DBI:mysql:mydata’) or die "无法连接数据库: " . DBI->;errstr;

print "插入若干记录n";
my $sth = $dbh->;prepare(q{
INSERT INTO address (id, name,email,telephone) VALUES (?, ?, ?, ?)
}) });

print "输入记录,回车结束:";
while ($inputdata =<> {
chop $inputdata;
last unless($inputdata);
my ($id, $name,$email, $tel) = split( /,/, $inputdata);
$sth->;execute($id, $name, $email,$tel)
}
# $dbh->;commit;

print "下面根据输入的名字打印出EMAIL地址和电话n";
my $sth = $dbh->;prepare(’SELECT * FROM address WHERE name=?’)
or die $dbh->;errstr;
print "请输入姓名,回车结束:";
while ($inputname =<> {
my @data;
chomp $inputname;
last unless($inputname);
$sth->;execute($inputname) or die "错误: " . $sth->;errstr;
while (@data = $sth->;fetchrow_array()) {
print "Emaildata[2]t Telephonedata[3]n";
}
}
#断开连接
$dbh->;disconnect;



Nighthawk 版权所有,转载请保留署名
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP