=波波日志 > PHP/apache/Perl > Perl操作Mysql数据库=
[转]Perl操作Mysql数据库
Perl操作Mysql数据库
一. 安装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 "Email:$data[2]\t Telephone:$data[3]\n";
}
}
#断开连接
$dbh->disconnect;
Nighthawk
来源:http://tieba.baidu.com/f?kz=88467200
一. 安装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 "Email:$data[2]\t Telephone:$data[3]\n";
}
}
#断开连接
$dbh->disconnect;
Nighthawk
来源:http://tieba.baidu.com/f?kz=88467200
类别:PHP/apache/Perl 作者:转载 日期:2009-08-07 【评论:0】
暂时没有评论!
发表留言
百度赞助
同类热门博文
- ·IE里Cookie跨域不能..
- ·php隐形字符65279
- ·Apache NameVirtual..
- ·Apache2.2提示Canno..
- ·Cookie在IE浏览器跨..
- ·获取google的pr值
- ·php根据访问者ip地址..
- ·PHP“Cannot use ob..
博格Tag
- flash/flex/fcs/AIR(752)
- Asp.Net/C#/WCF(598)
- 操作系统及应用软件(376)
- JavaScript/Ajax(330)
- SQL及数据库(134)
- 黑客技术(115)
- Asp/VBScript(111)
- HTML/WML/CSS兼容/XML(102)
- PHP/apache/Perl(96)
- 网站排名及优化(94)
- 其他(75)
- showbo日志(66)
- lucene.net/分词技术(33)
- 计算机网络(26)
- 机械重工(26)
- C#设计模式(25)
- Google Maps开发(17)
- 日语学习(15)
- Canvas/VML/SVG(13)
- linux(11)
- 游戏开发(8)
- 正则表达式(5)
- Jsp/Java(4)
最新博文
- ·PHP socket套接字学..
- ·Warning Cannot sen..
- ·php与flash as3 soc..
- ·php socket套接字聊..
- ·php获取来源页面
- ·CentOS5.5配置Apach..
- ·wget使用详解
- ·curl使用详解
随机博文
