PERL DBI.ppt


文档分类:办公文档 | 页数:约31页 举报非法文档有奖
1/ 31
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/ 31
文档列表 文档介绍
计算平台

徐杰
2010-10-13
DBI
DBI简介
DBI - Database independent interface for Perl ,也就是perl的数据库独立接口。
为了和数据库进行通讯,Perl 的社区开发出了统一数据库通讯接口模块:DBI。DBI 作为 Perl 语言中和数据库进行通讯的标准接口,它定义了一系列的方法,变量和常量,成功地提供一个和具体数据库平台无关的数据库持久层。
DBI模块的体系结构:
整个 DBI 模块的结构可以被分成两个主要的部分:DBI 模块本身和实现与具体数据库平台通讯的驱动模块。
DBI它就是一个Perl语言的数据库访问应用程序的编程接口, DBI 模块定义了提供给 Perl 开发者使用的编程接口,和对不同数据库驱动模块的调用方法。而具体的数据库通讯驱动模块的实现则和特定的数据库平台有关,实际的工作由驱动器完成,DBI为驱动器在其内工作提供了标准和框架。
DBI应用程序的架构:
API是应用程序Perl-脚本(编程)接口。调用接口和变量由DBI提供到perl脚本。
‘Switch’是用来为实际的执行调度DBI方法调用到恰当的驱动器的一段代码。Switch还负责动态加载驱动器,错误检查/处理以及其他职责。
驱动器负责实施支持给定类型的数据库。驱动器包含使用相应引擎的私有接口函数编写的DBI方法的实现。
DBI 模块中的三种句柄:
在 DBI 模块的定义中,用户可以创建三种不同类型的句柄。
驱动模块句柄(Driver Handle):驱动模块句柄代表一个在内存中加载的驱动,它在 DBI 模块加载其对应的驱动模块被创建。它和实际的驱动模块之间是一一对应的关系。可以通过available_drivers获得可用驱动的列表。在编程中很少用到这种句柄,因为我们一般不需要对驱动进行操作。
数据库句柄(Database Handles):
数据库句柄是程序员使用DBI模块和后台数据库进行通讯的第一步,它包含了一个到特定数据库的某个独立的连接。
常见数据库的连接字符串:
执行语句句柄(Statement Handles):
执行语句句柄在DBI规范中被定义为和数据库进行交互和操作的接口。这些句柄包装了一条条SQL语句,并将它们交给后台数据库执行。
一个简单的例子:
MYSQL
Mysql的安装:yum -y install mysql-server
/sbin/chkconfig --add mysqld 在服务清单中添加mysql服务 /sbin/service mysqld start 服务启动 mysql –uroot –p 进入mysql
新建数据库:create database test;
进入test数据库:use test;
新建表:create table student( -> sno int(5) NOT NULL, -> sname varchar(15) NOT NULL, -> sage int(11) default‘0’, -> ssex varchar(2) NOT NULL default‘m’, -> sprof varchar(20) -> PRIMARY KEY (sno) -> );
成功建立student表:
插入数据:
DBI在mysql的具体应用
一个简单的DBI脚本
1 #!usr/bin/perl
2 use DBI; 调用DBI模块
3 use strict;
4 my $dsn=“DBI:mysql:database=test;hostname=localhost”; 数据源
5 my $user_name=“root”; 用户名
6 my $password=“123”; 密码
7 my ($dbh,$sth); 数据库句柄和执行语句句柄
8 my (***@ary); 存放查询数据数组
9 $dbh=DBI->connect($dsn,$user_name,$password,{RaiseError=>1});数据库连接
10 $sth=$dbh->prepare(“select * from student ”); 准备执行查询
11 $sth->execute(); 执行查询
12 while(***@ary=$sth->fetchrow_array()){
13 print join("\t",***@ary),"\n";
14 } 提取数据,打印查询结果
15 $sth->finish; 断开执行语句句柄
16 $dbh->disconnect(); 断开数据库连接
17 exit(0);
~

PERL DBI 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数 31
  • 收藏数 0 收藏
  • 顶次数 0
  • 上传人 szh187166
  • 文件大小 0 KB
  • 时间2013-01-08
最近更新