程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> MySQL數據庫技術(27)

MySQL數據庫技術(27)

編輯:關於MYSQL數據庫

  5.1 MySQL 可用的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 參考指南或MySQL Web 站點,因為有時會增加用新語言編寫的A P I。

    每種語言約束都定義自己的接口,特別是訪問MySQL 的規則。這裡沒有足夠的時間來討論MySQL 可使用的每種A P I,我們只講述最流行的三種:

    ■ C 客戶機庫A P I。這是MySQL 的基本編程接口。

    ■ Perl 通用目標腳本語言的D B I(數據庫接口) A P I。DBI 是作為與其他模塊在D B D(數據庫驅動程序)級接口的Perl 模塊來實現的,每個模塊都提供對特定類型的數據庫引擎的訪問(當然,我們將討論的特定的DBD 模塊也提供對MySQL 的支持)。DBI 對MySQL 的最普遍用法是編寫由命令行來調用的獨立的客戶機,以及試圖由Web 服務器調用的腳本來提供Web 對MySQL 的訪問。

    ■ PHP API。PHP 是一種腳本語言,它提供了在Web 頁中嵌入程序的一種便利的方法。在發送以前,這樣的頁面由P H P來處理,它允許這些腳本生成動態的內容,如在頁面中包括MySQL 查詢的結果。“P H P”原始的意思是個人主頁( Personal Home Page),但是PHP 的成長已經遠遠超過它簡單的原始功能。PHP Web 站點現在使用的這個名稱表示“P H P:超文本預處理程序( Hypertext Preprocessor)”,它像GNU (是GUN而不是UNIX )一樣以同樣的方式自我引用。

    使用他人成果

    當標准的M y S Q L客戶機不能滿足需要時,您並不總是需要編寫自己的程序。其他一些人一直編寫程序,而這些程序中有許多是可共享得到的。請參閱附錄I 中的一些樣例。只要找到幾個就能節省您的許多工作。

    以上這三種A P I都有專門章節詳細說明。本章只提供對API 比較的概述,用來說明它們的基本特征,並給出對特定的應用程序可能選擇某個而不是其他API 的原因。

    當然,不必只考慮某個API,應了解每個API,並用可以明智選擇適合自己的API。在包括若干組件的大項目中,可能使用多個API,多種語言,這取決於每個子任務適合哪一種語言。

    對於試圖使用的任何一種API,如果需要得到必需的軟件,請參閱附錄A。

    5.1.1 C 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 編寫的,則仍然可以使用D B I。DBI 包括了對Mysqlperl 的仿真支持,因此不需要安裝兩個程序包。PHP 3 的前身是PHP/FI 2.0 (F I代表“ form interpreter ,即格式解釋程序”)。像Mysqlperl 一樣,P H P / F I也是過時的,所以我們就不再進一步討論它了。

  MySQL C API 的起源如果已經有編寫mSQL RDBMS 程序的經驗,那麼將注意到MySQL C API 類似於mSQL 相應的C API。當MySQL 的開發者們開始實現他們的SQL 引擎時,許多有用的共享實用程序可用於m S Q L。要想花費最小的難度將那些mSQL 實用程序移植為MySQL 的實用程序是可能的,可有意地將MySQL API設計為與mSQL API 類似(MySQL 甚至帶有與mSQL API 函數名稱相應的MySQL 名稱的簡單的文本替代品的msql2mysql 腳本。這個操作相對煩瑣,實際上也照顧了許多涉及為使用MySQL 而轉換mSQL 程序的工作)。

    MySQL 分發包提供的C 客戶機是基於這個API 的。C 客戶機庫也作為MySQL 對其他語言約束的基礎來提供服務,但Java API 是一個例外。例如,通過連接MySQL C 客戶機庫代碼(這個過程在附錄A中通過DBI 和PHP 安裝指導來舉例說明),M y S Q L可用Perl DBI 模塊專有的MySQL 驅動程序和PHP 代碼。

  • 首頁
  • 上一頁
  • 1
  • 2
  • 3
  • 4
  • 下一頁
  • 尾頁
  • 共4頁
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved