데이터 베이스 MySQL 튜토리얼 MySQL可用的API[组图]_MySQL

MySQL可用的API[组图]_MySQL

Jun 01, 2016 pm 01:56 PM
개발하다 인터페이스

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

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Apple Vision Pro를 PC에 연결하는 방법 Apple Vision Pro를 PC에 연결하는 방법 Apr 08, 2024 pm 09:01 PM

Apple Vision Pro를 PC에 연결하는 방법

iPhone에서 Shazam 앱이 작동하지 않음: 수정 iPhone에서 Shazam 앱이 작동하지 않음: 수정 Jun 08, 2024 pm 12:36 PM

iPhone에서 Shazam 앱이 작동하지 않음: 수정

권장되는 AI 지원 프로그래밍 도구 4가지 권장되는 AI 지원 프로그래밍 도구 4가지 Apr 22, 2024 pm 05:34 PM

권장되는 AI 지원 프로그래밍 도구 4가지

최고의 AI 프로그래머는 누구일까요? Devin, Tongyi Lingma 및 SWE 에이전트의 잠재력을 살펴보세요. 최고의 AI 프로그래머는 누구일까요? Devin, Tongyi Lingma 및 SWE 에이전트의 잠재력을 살펴보세요. Apr 07, 2024 am 09:10 AM

최고의 AI 프로그래머는 누구일까요? Devin, Tongyi Lingma 및 SWE 에이전트의 잠재력을 살펴보세요.

Go 언어를 사용하여 모바일 애플리케이션을 개발하는 방법을 알아보세요. Go 언어를 사용하여 모바일 애플리케이션을 개발하는 방법을 알아보세요. Mar 28, 2024 pm 10:00 PM

Go 언어를 사용하여 모바일 애플리케이션을 개발하는 방법을 알아보세요.

Ubuntu 24.04에서 Ubuntu Notes 앱을 설치하고 실행하는 방법 Ubuntu 24.04에서 Ubuntu Notes 앱을 설치하고 실행하는 방법 Mar 22, 2024 pm 04:40 PM

Ubuntu 24.04에서 Ubuntu Notes 앱을 설치하고 실행하는 방법

VSCode 이해: 이 도구는 어떤 용도로 사용됩니까? VSCode 이해: 이 도구는 어떤 용도로 사용됩니까? Mar 25, 2024 pm 03:06 PM

VSCode 이해: 이 도구는 어떤 용도로 사용됩니까?

PHP 인터페이스 소개 및 정의 방법 PHP 인터페이스 소개 및 정의 방법 Mar 23, 2024 am 09:00 AM

PHP 인터페이스 소개 및 정의 방법

See all articles