首頁 >資料庫 >mysql教程 >全面接觸SQL文法(7)

全面接觸SQL文法(7)

黄舟
黄舟原創
2016-12-24 17:49:21983瀏覽

表的刪除 

   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完成某些看似複雜的操作,並不需要繁瑣的SQL指令組合,或是許許多多的步驟才能完成,其實最重要的還是要活用SQL指令,才會在最精簡的SQL語句裡獲得最高的效率。 


 以上就是全面接觸SQL文法(7)的內容,更多相關內容請關注PHP中文網(www.php.cn)!


🎜
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn