天天看點

《PHP和MySQL Web開發從新手到高手(第5版)》一一2.1 資料庫簡介

本節書摘來自異步社群出版社《php和mysql web開發從新手到高手(第5版)》一書中的第2章,第2.1節,作者: 【澳】kevin yank,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

php和mysql web開發從新手到高手(第5版)

資料庫伺服器(在我們的例子中,也就是是mysql)是一個程式,它可以以一種有序的格式來存儲大量的資訊,而這種格式易于通過php這樣的程式設計語言來通路。例如,你可以讓php從資料庫中找出你想要在自己的web站點上顯示的笑話的清單。

在這個例子中,笑話全部存儲在資料庫中。這種方式有兩個優點:首先,我們可以編寫一段單獨的php腳本從資料庫擷取任意的笑話,并通過為其實時地生成一個html頁面來顯示它,而不必為每個笑話都編寫一個html頁面。其次,将笑話添加到web站點将會變成一件簡單的事情,隻需要将其插入到資料庫中就可以了。php代碼将負責剩餘的事情,當它從資料庫擷取清單的時候,将會自動顯示新的笑話和其他的笑話。

讓我們通過這個示例來觀察,資料是如何存儲到一個資料庫中的。資料庫包括一個或多個表(table),每個表包含了一系列的項(item,或事物)。對于笑話資料庫來說,我們可能從一個叫作joke的表開始,這個表包含了笑話的清單。資料庫中的每個表都有一個或多個列(column)又或字段(field)。每個列包含了關于表中的每一項的一些的資訊。在這個示例中,笑話表可能有一個列用來表示笑話的文本内容,另一個列用來表示該笑話添加到資料庫中的日期。每個笑話以所謂的行(row)或條目(entry)的方式存儲在資料庫中。表的行和列如圖2.1所示。

《PHP和MySQL Web開發從新手到高手(第5版)》一一2.1 資料庫簡介

注意,除了表示笑話文本的列(joketext)和表示笑話日期的列(jokedate),我還包含了一個叫作id的列。實際上,作為一種良好的設計,資料庫的表應該總是提供一種方式以便我們可以唯一地識别每一行。由于同一天有可能輸入兩個内容相同的笑話,我們不能夠依賴joketext和jokedate列來區分所有的笑話。是以,id列的功能是為每個笑話配置設定一個唯一的編号,以使我們以一種簡單的方式來引用它們并且記錄這個笑話是哪一個。我們将會在第5章中更進一步地介紹資料庫設計問題。

圖2.1中的表是一個三列兩行(或條目)的表。表中的每一行包含了3個字段,每個字段表示表中的一列:笑話的id,笑話的文本以及笑話的日期。了解了這些基本的術語,我們就準備好開始使用mysql了。