Home  >  Article  >  Database  >  用perl访问mysql数据库

用perl访问mysql数据库

WBOY
WBOYOriginal
2016-06-07 16:04:14961browse

一. 安装DBI模块 步骤1: 从TOOLS栏目中下载DBI.zip,下载完后用winzip解开到一个temp目录,共有三个文件: Readme DBI.ppd DBI.tar.gz 步骤2: 在DOS窗口下,temp目录中运行下面的DOS命令: ppm install DBI.ppd 如果提示无效命令,可在perl/bin目录下运行 二.

一. 安装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;


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn