Mysql入门系列:MySQL可用的API

油肚妹

油肚妹

2016-02-19 15:23

有一种朋友不在生活里,却在生命力;有一种陪伴不在身边,却在心间。图老师即在大家的生活中又在身边。这么贴心的服务你感受到了吗?话不多说下面就和大家分享Mysql入门系列:MySQL可用的API吧。

   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,我们只讲述最流行的三种:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  ■ 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 代码。

  5.1.2 Perl DBI APIDBI API 用于Perl 脚本语言编写的应用程序的上下文环境内部。这种API 在我们考虑的这三种API 结构中是最高的,因为它可与许多数据库工作,而同时在脚本中可忽略许多特定数据库的细节。DBI 经过使用两级结构的Perl 模块来实现(请参阅图5 - 1):

  ■ DBI (数据库接口)级。为客户机脚本提供接口。这个级别提供的是抽象接口,并不是指特定数据库引擎。

  ■ DBD (数据库驱动器)级。在这个级别由特定引擎的驱动程序来提供对各种数据库引擎的支持。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  

  MySQL对DBI 的支持环境由Msql - Mysql - modules分发包提供。这个模块在DBD 级操作。可以从分发包名称及图5 - 1中分辨它,一个驱动程序可以提供对一个以上的RDBMS 的支持。Msql-Mysql-Modules 最初是为mSQL 而编写的,后来扩展到MySQL。这种影响类似于对mSQL 和MySQL的CAPI。由于设计的MySQLCAPI 类似于mSQL CAPI,所以将mSQL DBD(使用mSQL C API)扩展到对MySQL的使用很有意义。

  DBI 体系结构编写应用程序的风格相对普通。当编写DBI 脚本时,可使用一组标准的调用。DBI 级在DBD 级调用适当的驱动程序来处理请求,对于想使用的特定数据库服务器通信中包括的特定问题,由驱动程序处理。DBD 级传送从服务器返回的数据,备份到DBI 级,使

  数据出现在应用程序中。数据的格式与数据库的数据

展开更多 50%)
分享

猜你喜欢

Mysql入门系列:MySQL可用的API

编程语言 网络编程
Mysql入门系列:MySQL可用的API

Mysql入门系列:在MYSQL中如何使用API

编程语言 网络编程
Mysql入门系列:在MYSQL中如何使用API

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Mysql入门系列:优化MYSQL

编程语言 网络编程
Mysql入门系列:优化MYSQL

Mysql入门系列:检索MYSQL记录

编程语言 网络编程
Mysql入门系列:检索MYSQL记录

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Mysql入门系列:MySQL的命名规则

编程语言 网络编程
Mysql入门系列:MySQL的命名规则

Mysql入门系列:使用MYSQL索引

编程语言 网络编程
Mysql入门系列:使用MYSQL索引

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

坚强的女人会哭,但是她们不会认输 - QQ伤感分组

坚强的女人会哭,但是她们不会认输 - QQ伤感分组

生活=持续经营 - QQ搞笑分组

生活=持续经营 - QQ搞笑分组
下拉加载更多内容 ↓