表的刪除
DELETE語句
我們可以利用DELETE語句,將表格中的記錄刪除。 (注意:記錄刪除後,無法再復原,所以條件設定要正確)
WHERE criteria
table
欲刪除記錄的表格名稱,也可以用*來取代。
tableexpression
一個或一個以上表格的名稱。此一參數可以為單一的表格名稱或從INNER JOIN,LEFT JOIN,或RIGHTJOIN 等運算所得到的結果。
criteria
決定表格中記錄要刪除的標準。
例如:
若是我們要將職員表格中姓名姓名叫做'李名'的記錄刪除,我們可以利用下面的SQL語句來完成。
DELETE * FROM 職員表格
WHERE 姓名='李名';
WHERE 姓名='李名';
資料庫新的操作命令對於資料庫、與維護,與具有相當不錯的功能,若是讀者使用SQL指令得宜,對於整個效率的提升有著很大的幫助,所以對於SQL語句所帶來的優勢,常常會遇到一個情況,就是:「當當我們對多個表格作複雜與多步驟的處理時,或許SQL只要一個語句就可以完成所有的需求與目標”,乍看一下,或許覺得有些玄妙,但是接下來的章節,會讓你了解其中的妙處。
SELECT...INTO語句
我們可以透過這個指令,利用現有表格查詢,來建立一個新表格的查詢語句。
SELECT field1[,field2[,...]]INTO newtable[IN externaldatabase]
FROM source
field1,field2
欲拷貝到新表格的欄位名稱。
newtable
欲建立之新表格的名稱,不可是已經存在的表格。
externaldatabase
若是該表格在另外的外部資料庫時,該資料庫的名稱。
source
記錄資料拷貝的來源表格名稱,可以是單一的表格或是一段SQL查詢之語句。
例如:
你可以透過下面的SQL語句,來建立一個新的「訓練名冊」表格。
SELECT 職員表格.姓名,職員表格.部門
INTO 訓練名冊FROM 職員表格
WHERE 職稱='新進人員';
、欄個表格的記錄加以組合。
SELECT fields
FROM table1 INNER JOIN table2
ON table1.field1 compopr table2.field2
table1,table2
欲進行記錄組合的表格名稱。
field1,field2
欲組合的欄位名稱。 (必須具有相同的資料類型)
compopr
比較關係運算符如下:“=”,“”,“”等。
例如:
若是你要把分類表格與產品表格組合,可參考下面的SQL語句。
SELECT 分類名稱,產品名稱
FROM 分類表格INNER JOIN 產品表格
ON 分類表格.分類編號=產品表格.分類編號;
UNIONIONs
UNIONIONs
UNIONION 月的作業數」 ,UNION操作數可以將兩個以上的表格或是查詢的結果組合起來。
[TABLE]query1 UNION [ALL][TABLE]query2 [UNION [ALL]
[TABLE]queryn [...]]
query1,query2,queryn
為一個SELECT的語句,或是一個已存在的查詢名稱,或是已存在的表格名稱。
例如:
你可以利用下面的SQL語句,將訂單數量超過1000的顧客表格記錄,與新客戶表格作UNION的操作。
TABLE 新客戶表格UNION ALL
SELECT *
FROM 顧客表格
WHERE 訂單數量>1000;
語。句,我們可以去修改表格的字段設計。
ALTER TABLE table
{ADD {COLUMN field type[(size)][CONSTRAINT index]
|CONSTRAINT multifieldindex}
|DROP {COLUMN field|CONSTRAINT indexINT multifieldindex}
|DROP {COLUMN field|CONSTRAINT indexINTname} 被名稱。
field
要被增加或刪除的欄位名稱。
type
欄位資料類型。
size
欄位大小。
index
對此欄位的索引。
例如:
在職員表格中新建一個「薪水」的欄位。
ALTER TABLE 職員表格
ADD COLUMN 薪水 CURRENCY;
例如:
在職員表格中刪除一個「薪水」的欄位。
ALTER TABLE 職員表格 DROP COLUMN 薪水;
DROP語句
針對所指定的表格或欄位加以刪除,或是索引將刪除。
DROP {TABLE table|INDEX index ON table}
table
欲刪除之表格或索引依附之表格名稱。
index
欲從表格中刪除的索引名稱。
例如:
從職員表格中,刪除編號索引。
DROP INDEX MyIndex ON Employees;
例如:
從資料庫中,刪除整個表格。
DROP TABLE 職員表格;
INSERT INTO語句
新建一條資料到表格當中。
多筆記錄新建查詢:
INSERT INTO target [IN externaldatabase][(field1[,field2[,...]])]
SELECT [source.]field1[,field2[,...]
FROM tableexpression
單一記錄新查詢:
INSERT INTO target[(field1[,field2[,...]])]
VALUES(value1[,value2[,...])
target
新記錄的表格名稱。
externaldatabase
外部資料庫的路徑,搭配IN條件子句使用。
source
若是記錄從其它表格中拷貝時,指明該表格的名稱。
field1,field2
欲增加資料的欄位名稱。
tableexpression
表格名稱或描述記錄是從哪一個表格中插入的表格名稱。配合INNER JOIN,LEFT JOIN,或 RIGHT JOIN 運算子一起使用。
value1,value2
欲插入表格中的數值。
例如:
在客戶資料表中,從新的表格插入資料。
INSERT INTO 客戶資料表
SELECT 新客戶資料表.*
FROM 新客戶資料表;
例如:
在職員表格中插入資料。
INSERT INTO 職員表格(姓名,生日,職稱)
VALUES("王榮","57/12/11","經理");
例如:
從訓練人員表格中,將職員僱用時間超過30天者,加入正式職員表格。
INSERT INTO 職員表格
SELECT 訓練人員表格.*
FROM 訓練人員表格
WHERE 僱用天數>30;
UPDATEATE
〜
。
UPDATE table
SET newvalue
WHERE criteria;
table
欲修改資料的表格名稱。
newvalue
欲修改成的數值(將該項數值插入到特定的字段當中)。
criteria
查詢條件,用來決定要修改哪些記錄。
例如:
若是要把訂單表格中的訂單數量修改成1.1倍,運費為1.03倍,可利用下列之SQL語句來完成。
UPDATE 訂單表格
SET 訂單數量=訂單數量* 1.1,運費=運費=運費* 1.03倍
WHERE 運達地點='美國';
當我們完成修改後,你可以利用SELECT 語句,配合同樣的WHERE 條件子句,來察看修改的資料是否正確。
以上就是全面接觸SQL文法(7)的內容,更多相關內容請關注PHP中文網(www.php.cn)!