看板 Knuckles
作者 標題 鄉民也能懂的資料庫
時間 2012年04月27日 Fri. AM 10:55:38
這次來介紹一下網頁設計中很重要的東西:資料庫 (Database)
當我們在做一個留言板,或是店家資料查詢之類的網頁時
一定會有一堆隨時會加上去,或是之前預先加進去的大量資料
這些資料是隨時會變動的,所以不可能全部都存成一頁一頁的網頁
要另外找地方存起來,然後在讀網頁時用程式把需要的資料抓進來顯示
這些資料要怎麼存呢?
最簡單的方法就是開一個檔案,然後一行一行的存進去囉
例如一個簡單的留言板,每一筆留言可以存成這樣:
編號
1
2
....
作者
時間
留言內容
1
aa
4/1 12:00
這是第一筆留言
2
bb
4/2 13:20
這是第二筆留言
....
如果只是要把留言全部顯示出來,然後可以再新增留言的話
這樣還勉強可以應付
可是如果要做一些特別的顯示方法,像分頁顯示、依時間排序、依作者排序...
還有要修改或刪除某一筆資料,或是要搜尋某段時間內的留言內容...
這些事情雖然都是可以寫程式做出來的,不過就是很麻煩
而且像是排序、搜尋資料這些事情,要懂很多資料結構的原理...
不然的話效能會很差
能不能裝個什麼別人寫好的東西,我只要下指令就可以把資料塞進去
然後也是下些指令就可以把我想要的資料抓出來呢
沒錯,這個東西就叫做資料庫
而操作資料庫的指令,就叫做 SQL (Structured Query Language 結構化查詢語言)
目前最多人用的資料庫,叫做 MySQL
另外還有 PostgreSQL、Microsoft Access、SQL Server、Oracle …等等
用個比喻來說,就像是我在經營一間店,而我有一大堆的客戶資料、商品資料、訂單資料....
所以我建了一個房間專門來放這些資料,並請了一個管理員來整理這些資料
然後我以及其他員工還有客戶都不能進這個房間
需要存取任何資料時都只能由管理員來存進去或取出來
至於房間裡的資料要怎麼擺比較好,那都是管理員的事情,我不用知道
而這個管理員,是從有名的資料庫公司訓練出來的,整理資料交給他就對了
不過還是得學一下要怎麼跟他溝通才行
跟管理員溝通,要使用 SQL 語言
不過這不是程式語言,就只是把一般的口語寫的精準一點而已
SQL 的基本四大語法為 SELECT、INSERT、UPDATE、DELETE
分別是用來 顯示、插入、更新、刪除 一筆資料用的
後面可以再附加一堆字句來修飾
例如現在有一個資料表叫 留言板
編號
1
2
....
作者
時間
留言內容
1
aa
4/1 12:00
這是第一筆留言
2
bb
4/2 13:20
這是第二筆留言
....
我想要把留言全部顯示出來,就用
SELECT * FROM 留言板
想要只顯示使用者 aa 的留言,就加個 WHERE 字句
SELECT * FROM 留言板 WHERE 作者 = 'aa'
想要照日期排序,就加 ORDER 字句
SELECT * FROM 留言板 WHERE 作者 = 'aa' ORDER BY 時間
想要只顯示前20筆留言,就加 LIMIT 字句
SELECT * FROM 留言板 WHERE 作者 = 'aa' ORDER BY 時間 LIMIT 0,20
其實就跟一般的英文句型很像
而且每家資料庫的語法都一樣,無論我要改去別家店工作、或是要換一個管理員
只要用共通的 SQL 就可以馬上上手了
--
※ 作者: Knuckles 時間: 2012-04-27 10:55:38
※ 編輯: Knuckles 時間: 2012-04-27 11:09:39
※ 看板: Knuckles 文章推薦值: 0 目前人氣: 0 累積人氣: 540
回列表(←)
分享