PHP操作數(shù)據(jù)庫(kù)——背景

PHP因?yàn)榱餍?,所以有很多操作?shù)據(jù)庫(kù)的方法。

首選的肯定是PDO。PDO一是PHP數(shù)據(jù)對(duì)象(PHP Data Object)的縮寫。

隨著擁有更成熟 OO (面向?qū)ο螅┱Z(yǔ)法的 PHP 5 的發(fā)布,PHP 越來越多地受到越來越大的機(jī)構(gòu)的關(guān)注,對(duì)于 PHP 來說,提供更加一致的和可訪問的數(shù)據(jù)訪問 API 變得越來越重要。

PHP 數(shù)據(jù)對(duì)象(PDO) 擴(kuò)展為PHP訪問數(shù)據(jù)庫(kù)定義了一個(gè)輕量級(jí)的一致接口。實(shí)現(xiàn)PDO 接口的每個(gè)數(shù)據(jù)庫(kù)驅(qū)動(dòng)可以公開具體數(shù)據(jù)庫(kù)的特性作為標(biāo)準(zhǔn)擴(kuò)展功能。 注意利用 PDO 擴(kuò)展自身并不能實(shí)現(xiàn)任何數(shù)據(jù)庫(kù)功能;必須使用一個(gè) 具體數(shù)據(jù)庫(kù)的 PDO 驅(qū)動(dòng)來訪問數(shù)據(jù)庫(kù)服務(wù)。

PDO 提供了一個(gè) 數(shù)據(jù)訪問抽象層,這意味著,不管使用哪種數(shù)據(jù)庫(kù),都可以用相同的函數(shù)(方法)來查詢和獲取數(shù)據(jù)。 PDO 不提供數(shù)據(jù)庫(kù)抽象層;它不會(huì)重寫 SQL,也不會(huì)模擬缺失的特性。如果需要的話,應(yīng)該使用一個(gè)成熟的抽象層。

從 PHP 5.1 開始附帶了 PDO,在 PHP 5.0 中是作為一個(gè) PECL 擴(kuò)展使用。 PDO 需要PHP 5 核心的新 OO 特性,因此不能在較早版本的 PHP 上運(yùn)行。

簡(jiǎn)單操作介紹

Migration數(shù)據(jù)庫(kù)版本管理與遷徙

雖然我們知道PDO已經(jīng)基本可以滿足我們對(duì)于數(shù)據(jù)庫(kù)遷徙與管理的需求,我們還有更好的選擇——Migration。

因?yàn)殛P(guān)注敏捷開發(fā),所以個(gè)人感覺laravel(知名PHP開發(fā)框架)和Django(知名Python網(wǎng)頁(yè)開發(fā)框架)中內(nèi)置的Migration功能非常方便,若是追求最大速度開發(fā)可以選擇使用。

簡(jiǎn)介
Wikipedia(英文)介紹點(diǎn)這里
中文大致翻一下。
在軟件工程,數(shù)據(jù)庫(kù)遷移(也叫數(shù)據(jù)遷移,數(shù)據(jù)庫(kù)變更管理)是指增量的,可逆的關(guān)系數(shù)據(jù)庫(kù)模式的管理。一個(gè)模式遷移進(jìn)行時(shí),需要更新或恢復(fù)該數(shù)據(jù)庫(kù)的架構(gòu)以便在較新或舊版本的數(shù)據(jù)庫(kù)上能夠執(zhí)行。
遷移是通過使用架構(gòu)遷移工具進(jìn)行的。當(dāng)與指定所需的架構(gòu)版本調(diào)用,工具會(huì)自動(dòng)的改變數(shù)據(jù)表的適當(dāng)序列的連續(xù)應(yīng)用程序或逆轉(zhuǎn)直到它被帶到理想的狀態(tài)。
大多數(shù)架構(gòu)遷移工具的目的是盡量減少架構(gòu)更改數(shù)據(jù)庫(kù)中的任何現(xiàn)有數(shù)據(jù)的影響。盡管這樣,在一般的數(shù)據(jù)保存不能保證,因?yàn)槟J礁闹T如數(shù)據(jù)庫(kù)列的刪除可以破壞數(shù)據(jù)(即該列在該表中的所有行中儲(chǔ)存的所有值都被刪除)。相反,這些工具有助于保持?jǐn)?shù)據(jù)的含義或重組現(xiàn)有數(shù)據(jù),以滿足新的需求。由于數(shù)據(jù)的含義往往不能編碼,工具的配置通常需要人工干預(yù)。

= =說白了就是一個(gè)管理工具,但是我們也可以在開發(fā)的時(shí)候用。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容