資料庫程式設計 – 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:提供可產生、變更、刪除資料庫或資料表之命令,如 CreateAlterDropTruncateComment、以及 Rename等命令。

(2) 『資料處理語言』(Data Manipulation Language, DML):提供可以處理資料表之命令,譬如:SelectInsertUpdateDelete等。

(3) 『資料控制語言』(Data Control Language, DCL):提供管理資料庫或資料表授權使用之命令,如:GrantRevoke 等。

(4) 『交易控制語言』(Transaction Control Language):多人使用環境的交易控制命令,如:CommitSavepointRollback、以及 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 "欄位
FROM "
表格名
WHERE "
欄位" IN ('1', '2', ...);

Between

SELECT "欄位
FROM "
表格名
WHERE "
欄位" BETWEEN '1' AND '2';

Like

SELECT "欄位
FROM "
表格名
WHERE "
欄位" LIKE {模式};

Order By

SELECT "欄位
FROM "
表格名
[WHERE "
條件"]
ORDER BY "
欄位" [ASC, DESC];

Count

SELECT COUNT("欄位") 
FROM "
表格名";

Group by

SELECT "欄位1", SUM("欄位2") 
FROM "
表格名
GROUP BY "
欄位1"

Having

SELECT "欄位1", SUM("欄位2") 
FROM "
表格名
GROUP BY "
欄位1" 
HAVING (
函數條件);

Create

CREATE TABLE "表格名"
("
欄位 1" "欄位 1 資料種類", "欄位 2" "欄位 2 資料種類"",... );

Insert

INSERT INTO "表格名" ("欄位1", "欄位2", ...)
VALUES ("
1", "2", ...);

Drop

DROP TABLE "表格名";

Delete

DELETE FROM "表格名"
WHERE "
條件";

Truncate

TRUNCATE TABLE "表格名";

Update

UPDATE "表格名"
SET "
欄位1" = [新值]
WHERE "
條件";

(Not) Like

*_(底線)%[ABC]Pattern

運算

+-*/%

 

 

比較

= <> < > >=between

 

 

聚合

Count(欄位)AveSumMaxMin

 

5-1-3 SQL 操作介面 - AppServ

還是需要一個介面讓我們操作 SQL 來管理資料庫,一般資料庫都提供交談式的操作環境,但 AppServ 提供一個更優質化的環境。當 AppServ 並載入資料庫(couse_System) 之後,由瀏覽器 URL 輸入 http://localhost,如下圖5-3 所示。

接著輸入帳號/密碼,再選取資料庫、點選『SQL』選項:

則出現 SQL 視窗,輸入 SQL 程式後,再按執行。

執行結果如下:

 

<GOTOP>