資料庫程式設計 – PHP+MySQL :第 十一章 表格異動處理程式 下一頁 |
第十一章 表格異動處理程式
11-1 DDL 與 DML 簡介
本書到目前為止,花費了許多章節介紹 Select 查詢命令,因它是由資料庫萃取資訊的主要工具。除此之外,還有兩大類管理命令,本章就來一一介紹: (A) 『資料定義語言』( Data Definition Language, DDL) 提供產生(Create)、變更(Alter)與刪除 (Delete)資料表之命令,雖然還有其他命令,但牽涉過於廣泛本書僅介紹這三種較常用的命令。 (B) 『資料處理語言』(Data Manipulation Language, DML) 提供對資料表內記錄(資料行)做插入 (Insert)、更新(Update)與刪除(Delete) 管理之命令,本章將一一介紹各命令的使用法,與透過 PHP 來靈活運用它。 11-2 建立表格 – Create table 11-2-1 Create table 語法 Create table 命令是用來建立資料表的。一般資料庫經過邏輯設計,規劃若干的資料表後就用此命令來產生。因此,大多在 SQL 控制台上處理,譬如,在 AppServ 上以選單完成,但我們還是介紹它的語法,如下:
其中資料型態,常用有: a. 字元:CHAR(長度),CHAR(8)。 b. 整數:int(長度),int(8)。 c. 日期: 另外,屬性有: a. 不可空白:Not null b. Primary Key:指定主鍵,也許會包含兩個以上欄位。 11-2-2 範例研討 – 建立監護人表格 (A) 系統功能:Ex11_1 學務處需要建立學生家長相關系統,期望建立一個監護人資料表(guardian),期望表格結構 {student_ID, guard_name, tel, address},並以 student_ID 為唯一識別。 (B) SQL 系統分析 為了簡化系統設計,我們假設每位學生與監護人之間是一對一關係,因此 guardian 與 students 兩張資料表之間是一對一的關係,之間是由 student_ID 欄位建立關連,然而 guardian 資料表的 student_ID 的資料型態須相同。我們規劃如下:
(C) 利用Appserv 控制台建立 在 AppServ 的 SQL 介面下輸入下列命令即可:
執行後 course_db 資料庫內產生険 guardian 資料表如下:
11-3 變更表格 – Alter table 11-3-1 Alter table 語法 當表格不滿足所需時,可以利用 Alter Table 變更其型態。可針對現有表格作:增加欄位、修改欄位、刪除欄位,變更主鍵,以及定義屬性、、、等等功能,格式如下:
11-3-2 範例研討:增加關係欄位 (A) 系統功能:Ex10_2 學務處認為目前監護人資料表(guardian)不能滿足所需,期望增加學生與監護人之間的關係欄位(relation)。 (B) 系統分析 描述關係人(relation)可能是父子、父女、養父子、兄妹、、、等等關係,因此,其資料型態還是使用 VARCHAR(40) 較適合,吾人規劃如下:
(C) 利用Appserv 控制台建立 在 AppServ 的 SQL 介面下輸入下列命令即可:
執行後,guardian 表的結構變更如下:
11-4 刪除表格 – Drop table 11-4-1 Drop table 語法 當表格不需要時,可以利用 Drop Table 命令將它刪除,格式如下:
11-4-2 範例研討:刪除監護人表格 (A) 系統功能:Ex11_3 學務處認為不再需要監護人資料表(guardian),期望將它刪除。 (C) 利用 SQL 命令刪除 在 AppServ 的 SQL 介面下輸入下列命令即可:
|
翻轉工作室:粘添壽
資料庫程式設計:
翻轉電子書系列:
|