Home  >  Article  >  Database  >  MySQL可用的API[组图]_MySQL

MySQL可用的API[组图]_MySQL

WBOY
WBOYOriginal
2016-06-01 13:56:08899browse

    5.1MySQL可用的API

    为了方便应用程序的开发,MySQL提供了用C 编程语言编写的客户机库,它允许从任何C 程序的内部访问MySQL数据库。客户机库实现应用程序编程接口( A P I),API 定义客户机程序如何建立和执行与服务器的通信。

    然而,使用C 来编写MySQL程序并不受限制。许多其他语言处理器本身也是由C 编写的,或具有使用C库的能力,所以MySQL客户机库提供了这个方法,由此, MySQL对这些语言的约束可以建立在C API 的上面。这就为与MySQL服务器通信而编写应用程序提供了许多选择。客户机程序的API 是用Perl、PHP、Java、Python、C++、Tcl 和其他一些语言编写的。有关最新的清单,请查看MySQL参考指南或MySQLWeb 站点,因为有时会增加用新语言编写的A P I。

    每种语言约束都定义自己的接口,特别是访问MySQL的规则。这里没有足够的时间来讨论MySQL可使用的每种A P I,我们只讲述最流行的三种:

    ■ C 客户机库A P I。这是MySQL的基本编程接口。

    ■ Perl 通用目标脚本语言的DBI(数据库接口) A P I。DBI 是作为与其他模块在DB D(数据库驱动程序)级接口的Perl 模块来实现的,每个模块都提供对特定类型的数据库引擎的访问(当然,我们将讨论的特定的DBD 模块也提供对MySQL的支持)。DBI 对MySQL的最普遍用法是编写由命令行来调用的独立的客户机,以及试图由Web 服务器调用的脚本来提供Web 对MySQL的访问。

    ■ PHP API。PHP 是一种脚本语言,它提供了在Web 页中嵌入程序的一种便利的方法。在发送以前,这样的页面由PHP来处理,它允许这些脚本生成动态的内容,如在页面中包括MySQL查询的结果。“PHP”原始的意思是个人主页( Personal Home Page),但是PHP 的成长已经远远超过它简单的原始功能。PHP Web 站点现在使用的这个名称表示“PHP:超文本预处理程序( Hypertext Preprocessor)”,它像GNU (是GUN而不是UNIX )一样以同样的方式自我引用。

    使用他人成果

    当标准的MySQL客户机不能满足需要时,您并不总是需要编写自己的程序。其他一些人一直编写程序,而这些程序中有许多是可共享得到的。请参阅附录I 中的一些样例。只要找到几个就能节省您的许多工作。

    以上这三种A P I都有专门章节详细说明。本章只提供对API 比较的概述,用来说明它们的基本特征,并给出对特定的应用程序可能选择某个而不是其他API 的原因。

    当然,不必只考虑某个API,应了解每个API,并用可以明智选择适合自己的API。在包括若干组件的大项目中,可能使用多个API,多种语言,这取决于每个子任务适合哪一种语言。

    对于试图使用的任何一种API,如果需要得到必需的软件,请参阅附录A。

    5.1.1C API

    CAPI 用于编译C 程序上下文环境内部。它是一种客户机库,提供可用来与MySQL服务器对话的最低级别的接口――具有创建与服务器通信所需的能力。DBI 和PHP 的前身DBI 的Perl 前身是Mysqlperl 模块M y s q l . p m。这个模块不再被支持,而且不应该用于新的MySQL的开发。有一件事需要明白,Mysqlperl 是依赖于MySQL的,但DBI 不是。如果编写MySQL的Perl 应用程序,然后,决定想用另外一种数据库引擎来使用它们,则移植DBI 脚本比Mysqlperl 脚本更容易一些,因为它们很少依赖于特定的数据库引擎。如果获取了访问MySQL的一段Perl 脚本,并发现它是用Mysqlperl 而不是DBI 编写的,则仍然可以使用DBI。DBI 包括了对Mysqlperl 的仿真支持,因此不需要安装两个程序包。PHP 3 的前身是PHP/FI 2.0 (F I代表“ form interpreter ,即格式解释程序”)。像Mysqlperl 一样,PHP / F I也是过时的,所以我们就不再进一步讨论它了。

  MySQLC API 的起源如果已经有编写mSQL RDBMS 程序的经验,那么将注意到MySQLC API 类似于mSQL 相应的C API。当MySQL的开发者们开始实现他们的SQL 引擎时,许多有用的共享实用程序可用于m SQL。要想花费最小的难度将那些mSQL 实用程序移植为MySQL的
实用程序是可能的,可有意地将MySQLAPI设计为与mSQL API 类似(MySQL甚至带有与mSQL API 函数名称相应的MySQL名称的简单的文本替代品的msql2mysql脚本。这个操作相对烦琐,实际上也照顾了许多涉及为使用MySQL而转换mSQL 程序的工作)。

    MySQL分发包提供的C 客户机是基于这个API 的。C 客户机库也作为MySQL对其他语言约束的基础来提供服务,但Java API 是一个例外。例如,通过连接MySQLC 客户机库代码(这个过程在附录A中通过DBI 和PHP 安装指导来举例说明),MySQL可用Perl DBI 模块专有的MySQL驱动程序和PHP 代码。

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