1. 程式人生 > >全面接觸SQL語法五

全面接觸SQL語法五

表的刪除 

   DELETE語句 

  我們可以利用DELETE語句,將表格中的記錄刪除。(注意:記錄被刪除後,無法再復原,所以條件設定要正確) 


DELETE[table.*] 
FROM tableexpression 
WHERE criteria 
table 
欲刪除記錄的表格名稱,也可以用*來取代。 
tableexpression 
一個或一個以上表格的名稱。此一引數可以為單一的表格名稱或是從INNER JOIN,LEFT JOIN,或RIGHTJOIN 等運算所得到的結果。 
criteria 
決定表格中記錄要被刪除的標準。 


  例如: 

  若是我們要將職員表格中姓名姓名叫做'李名'的記錄刪除,我們可以利用下面的SQL語句來完成。 

  DELETE * FROM 職員表格 

  WHERE 姓名='李名'; 
  
  資料庫表格相關的操作命令 

  SQL除了可以作為查詢與資料庫表格的建立的工具外,對於資料庫與表格的新建、刪修、與維護,與具有相當不錯的功能,若是讀者使用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 職稱='新進人員'; 


  
  INNER JOIN運算元 

  當某一個共同的欄位資料相等時,將兩個表格的記錄加以組合。 


   
SELECT fields 
FROM table1 INNER JOIN table2 
ON table1.field1 compopr table2.field2 
table1,table2 
欲進行記錄組合的表格名稱。 
field1,field2 
欲組合的欄位名稱。(必須具有相同的資料型別) 
compopr 
比較關係運算符如下:“=”,“<”,“>”,“<=”,“<>”等。 
例如: 
若是你要把分類表格與產品表格作組合,可參考下面的SQL語句。 
SELECT 分類名稱,產品名稱 
FROM 分類表格 INNER JOIN 產品表格 
ON 分類表格.分類編號=產品表格.分類編號; 


  
  UNION運算元 

  我們可以通過UNION運算元來建立連線的查詢條件,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語句 

  在一個表格被建立之後,利用ALTER語句,我們可以去修改表格的欄位設計。 


ALTER TABLE table 
{ADD {COLUMN field type[(size)][CONSTRAINT index] 
|CONSTRAINT multifieldindex} 
|DROP {COLUMN field|CONSTRAINT indexname}} 
table 
欲被ALTER的表格名稱。 
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 職員表格;