日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

更新數據

本文介紹了更新數據的相關內容。

簡介

修改已經存儲在數據庫中的數據的行為叫做更新。你可以更新單個行,也可以更新表中所有的行,還可以更新其中的一部分行。 我們可以獨立地更新每個列,而其他的列則不受影響。

要更新現有的行,使用UPDATE命令。這需要提供三部分信息:

  • 表的名字和要更新的列名。

  • 列的新值。

  • 要更新的是哪(些)行。

SQL 通常并不為行提供唯一標識符。因此我們無法總是直接指定需要更新哪一行。但是,我們可以通過指定一個被更新的行必須滿足的條件。只有在表里面存在主鍵的時候(不管你聲明它還是不聲明它),我們才能可靠地通過選擇一個匹配主鍵的條件來指定一個獨立的行。圖形化的數據庫訪問工具就靠這允許我們獨立地更新某些行。

例如,這條命令把所有價格為 5 的產品的價格更新為 10:

    UPDATE products SET price = 10 WHERE price = 5;

這樣做可能導致零行、一行或者更多行被更新。如果我們試圖做一個不匹配任何行的更新,那也不算錯誤。

讓我們仔細看看這個命令。首先是關鍵字UPDATE, 然后跟著表名字。和平常一樣,表名字也可以是用模式限定的, 否則會從路徑中查找它。然后是關鍵字SET, 后面跟著列名、一個等號以及新的列值。新的列值可以是任意標量表達式, 而不僅僅是常量。例如,如果你想把所有產品的價格提高 10%,你可以用:

    UPDATE products SET price = price * 1.10;

如你所見,用于新值的表達式也可以引用行中現有的值。我們還忽略了WHERE子句。如果我們忽略了這個子句, 那么就意味著表中的所有行都要被更新。如果出現了WHERE子句, 那么只有匹配它后面的條件的行被更新。請注意在SET子句中的等號是一個賦值, 而在WHERE子句中的等號是比較,不過這樣并不會導致任何歧義。當然WHERE條件不一定非得是等值測試。許多其他操作符也都可以使用。但是表達式必須得出一個布爾結果。

你還可以在一個UPDATE命令中更新更多的列, 方法是在SET子句中列出更多賦值。例如:

    UPDATE mytable SET a = 5, b = 3, c = 1 WHERE a > 0;