程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL數據操作入門基礎(級)8

SQL數據操作入門基礎(級)8

編輯:關於SqlServer
同DELETE語句一樣,UPDATE語句可以使用WHERE子句來選擇更新特定的記錄。請看這個例子:

UPDATE mytable SET first_column=’Updated!’ WHERE second_column=’Update Me!’

這個UPDATE 語句更新所有second_column字段的值為’Update Me!’的記錄。對所有被選中的記錄,字段first_column的值被置為’Updated!’。

下面是UPDATE語句的完整句法:

UPDATE {table_name|view_name} SET [{table_name|vIEw_name}]

{column_list|variable_list|variable_and_column_list}

[,{column_list2|variable_list2|variable_and_column_list2}…

[,{column_listN|variable_listN|variable_and_column_listN}]]

[WHERE clause]

注意:

你可以對文本型字段使用UPDATE語句。但是,如果你需要更新很長的字符串,應使用UPDATETEXT語句。這部分內容對本書來說太高級了,因此不加討論。要了解更多的信息,請參考Microsoft SQL Sever 的文檔。

如果你不提供WHERE子句,表中的所有記錄都將被更新。有時這是有用的。例如,如果你想把表titles中的所有書的價格加倍,你可以使用如下的UPDATE 語句:

你也可以同時更新多個字段。例如,下面的UPDATE語句同時更新first_column,second_column,和third_column這三個字段:

UPDATE mytable SET first_column=’Updated!’

Second_column=’Updated!’

Third_column=’Updated!’

WHERE first_column=’Update Me1’

技巧:

SQL忽略語句中多余的空格。你可以把SQL語句寫成任何你最容易讀的格式。

 

用SELECT 創建記錄和表

你也許已經注意到,INSERT 語句與DELETE語句和UPDATE語句有一點不同,它一次只操作一個記錄。然而,有一個方法可以使INSERT 語句一次添加多個記錄。要作到這一點,你需要把INSERT 語句與SELECT 語句結合起來,象這樣:

INSERT mytable (first_column,second_column)

SELECT another_first,another_second

FROM anothertable

WHERE another_first=’Copy Me!’

這個語句從anothertable拷貝記錄到mytable.只有表anothertable中字段another_first的值為’Copy Me!’的記錄才被拷貝。

當為一個表中的記錄建立備份時,這種形式的INSERT 語句是非常有用的。在刪除一個表中的記錄之前,你可以先用這種方法把它們拷貝到另一個表中。

如果你需要拷貝整個表,你可以使用SELECT INTO 語句。例如,下面的語句創建了一個名為newtable的新表,該表包含表mytable的所有數據:

SELECT * INTO newtable FROM mytable

你也可以指定只有特定的字段被用來創建這個新表。要做到這一點,只需在字段列表中指定你想要拷貝的字段。另外,你可以使用WHERE 子句來限制拷貝到新表中的記錄。下面的例子只拷貝字段second_columnd的值等於’Copy Me!’的記錄的first_column字段。

SELECT first_column INTO newtable

FROM mytable

WHERE second_column=’Copy Me!’

使用SQL修改已經建立的表是很困難的。例如,如果你向一個表中添加了一個字段,沒有容易的辦法來去除它。另外,如果你不小心把一個字段的數據類型給錯了,你將沒有辦法改變它。但是,使用本節中講述的SQL語句,你可以繞過這兩個問題。

例如,假設你想從一個表中刪除一個字段。使用SELECT INTO 語句,你可以創建該表的一個拷貝,但不包含要刪除的字段。這使你既刪除了該字段,又保留了不想刪除的數據。

如果你想改變一個字段的數據類型,你可以創建一個包含正確數據類型字段的新表。創建好該表後,你就可以結合使用UPDATE語句和SELECT 語句,把原來表中的所有數據拷貝到新表中。通過這種方法,你既可以修改表的結構,又能保存原有的數據。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved