資料庫程式設計 – PHP+MySQL :第五章 SQL 語言與 PHP/MySQL 下一頁
翻轉工作室:粘添壽 course_db E-R 關聯圖 <開啟>
第五章 SQL 語言與 PHP/MySQL
5-1 SQL 語言
5-1-1 SQL 簡介
一般人都知道,資料庫是集中管理資料的地方,它的方法是建立了許多資料表,再分門別類的將各種資料存入相對應的資料表內,又在資料表之間建立關聯,如此結合建立了一個資料庫。另外我們將在這些資料表內淬取資訊、更新資料、或刪除資料、、等等操作。由此可見我們需要一套健全的工具才能管理、維護與使用資料庫,此工具就是 SQL(Structure Query Language) 語言。
所有資料庫製造商皆會建立一套 SQL 工具來操作自己的資料庫,但為了方便使用者學習,目前 SQL 語言大多已經標準化(依循 IBM SQL 架構)。也就是說,您只要學會 SQL 語言的使用方法,幾乎所有廠牌的資料庫都可以操作。圖 5-1 是一般 SQL 語言應具有的功能,以下分別說明之:
圖 5-1 SQL 與資料庫
(1) 『資料定義語言』(Data Definition Language, DDL):提供可產生、變更、刪除資料庫或資料表之命令,如 Create、Alter、Drop、Truncate、Comment、以及 Rename等命令。
(2) 『資料處理語言』(Data Manipulation Language, DML):提供可以處理資料表之命令,譬如:Select、Insert、Update、Delete等。
(3) 『資料控制語言』(Data Control Language, DCL):提供管理資料庫或資料表授權使用之命令,如:Grant、Revoke 等。
(4) 『交易控制語言』(Transaction Control Language):多人使用環境的交易控制命令,如:Commit、Savepoint、Rollback、以及 Settransaction 等。
為了讓同學快速認識資料庫系統,我們還是由 DML 開始,而且同學如能善加利用 SQL DML 工具,就能將很枯燥無味的『資料』資料,變成變化萬千的『訊息』。SQL 語言最大的特性是資料表經過處理後的結果也是資料表,但欄位數目與資料筆數會隨著查詢結果而改變,如下圖所示:
圖 5 -# SQL 語言處理模式
5-1-2 SQL 命令彙集
命 令 |
格 式 |
命 令 |
格 式 |
Select |
Select "欄位" From "表格名"; |
Distinct |
Select Distinct "欄位" From "表格名"; |
Where |
Select "欄位" From "表格名" Where "condition"; |
||
And/OR |
Select "欄位" From "表格名" Where "簡單條件" {[And|Or] "簡單條件"}+ ; |
||
In |
SELECT "欄位" |
||
Between |
SELECT "欄位" |
||
Like |
SELECT "欄位" |
||
Order By |
SELECT "欄位" |
||
Count |
SELECT COUNT("欄位") |
||
Group by |
SELECT "欄位1", SUM("欄位2") |
||
Having |
SELECT "欄位1", SUM("欄位2") |
||
Create |
CREATE TABLE "表格名" |
||
Insert |
INSERT INTO "表格名" ("欄位1", "欄位2", ...) |
||
Drop |
DROP TABLE "表格名"; |
Delete |
DELETE FROM "表格名" |
Truncate |
TRUNCATE TABLE "表格名"; |
||
Update |
UPDATE "表格名" |
(Not) Like |
*、_(底線)、%、[ABC]、Pattern |
運算 |
+、-、*、/、% |
||
|
|
||
比較 |
=、 <> 、 < 、> 、 >=、between |
|
|
聚合 |
Count(欄位)、Ave、Sum、Max、Min |
5-1-3 SQL 操作介面 - AppServ
還是需要一個介面讓我們操作 SQL 來管理資料庫,一般資料庫都提供交談式的操作環境,但 AppServ 提供一個更優質化的環境。當 AppServ 並載入資料庫(couse_System) 之後,由瀏覽器 URL 輸入 http://localhost,如下圖5-3 所示。
接著輸入帳號/密碼,再選取資料庫、點選『SQL』選項:
則出現 SQL 視窗,輸入 SQL 程式後,再按執行。
執行結果如下: