更新(修改)表中的資料,可以使用update
語句,有兩種使用update
的方式:
更新表中的特定行
更新表中的所有行
注意:
在使用updat
時一定要細心,因為稍不注意就會更新表中的所有行
在客戶端/伺服器的 dbms 中,使用update
語句可能需要特殊的安全許可權
基本的update
語句由三部分組成,分別是:要更新的表
列名和它們的新值
確定要更新行的過濾條件
在這個例子中,要更新的表名為 customers:update
語句總是以要更新的表名開始update customers
在這裡,set
命令用來將新值賦給被更新的列set
子句設定 cust_email 列為指定的值:set cust_email = '[email protected]'
更新多個列的語法稍有不同:update
語句以where
子句結束,它告訴 dbms 更新哪一行在更新多個列時,只需要使用一條set
命令,每個「列=值」對之間用逗號分隔(最後一列不需要用逗號)在update
語句中使用子查詢 :update
語句中可以使用子查詢,使得能用select
語句檢索出的資料更新列資料要刪除某個列的值,可以設定它為ignore
關鍵字 :如果用update
語句更新多行,並且在更新這些行中的一行或多行時出乙個現錯誤,則整個update
操作被取消(錯誤發生前更新的所有行被恢復到它們原來的值)。為即使是發生錯誤,也繼續進行更新,可使用ignore
關鍵字,如下所示:update ignore 表名...
null
(假如表定義允許null
值)如下進行:
null
用來去除 cust_email 列中的值,這與儲存空字串很不同(空字串用『』
表示,是乙個值),null
表示沒有值從乙個表中刪除(去掉)資料,使用
delete
語句,有兩種使用delete
的方式:從表中刪除特定的行
從表中刪除所有的行
注意:
在使用
delete
時一定要細心,因為稍不注意,就會錯誤地刪除表中的所有行在客戶端/伺服器的 dbms 中,使用
delete
語句可能需要特殊的安全許可權如下**,從 customers 表中刪除一行:
在上述例子中,如果省略delete from
要求指定從中刪除資料的表名,where
子句過濾要刪除的行where
子句,它將刪除表中的每乙個顧客友好的外來鍵:存在外來鍵時,dbms 使用它們實施引用完整性例如要向 products 表中插入乙個新產品,dbms 不允許通過位置的**商 id 插入它,因為, vend_id 列是作為外來鍵連線到 vendors 表的dbms 通常可以防止刪除某個關係需要用的行例如要從 products 表中刪除乙個產品,而這個產品用在 orderitems 的已有訂單中,那麼delete
語句將丟擲錯誤並終止delete
不需要列名或萬用字元
delete
刪除整行而不是刪除列,要刪除指定的列,使用update
語句刪除表的內容而不是表:delete
語句從表中刪除行,甚至是刪除表中所有行,但是,delete
不刪除表本身更快的刪除:如果想從表中刪除所有的行,不要使用 delete可以使用
truncate table
語句,它可以完成相同的工作,而速度更快(因為不記錄資料的變動)在truncate
實際是刪除原來的表並重新建立乙個表,而不是逐行刪除表中的資料update
和delete
語句中,如果省略了where
子句,則update
和delete
將被應用到表中的所有行,所有在使用這兩條語句時,需要注意一些事項:除非確實打算更新和刪除每一行,否則絕對不要使用不帶
where
子句的update
和delete
語句保證每個表都有主鍵,盡可能像
where
子句那樣使用它在
update
和delete
語句使用where
子句前,應該先用select
進行測試,保證它過濾的是正確的記錄使用強制實施引用完整性,這樣 dbms 將不允許刪除其資料與其他表相關聯的行
16 更新和刪除資料
1.更新資料 更新 修改 表中的資料,可以使用 update 語句,有兩種方式 更新表中的特定行 更新表中的所有行。注意,不要省略 where 子句。基本的 update 語句由三部分組成 要更新的表 列名和它們的新值 確定要更新哪些行的過濾條件。1 update 語句總是以要更新的表名開始,set...
MySQL更新和刪除
更新和刪除的操作sql語句比較簡單,不過要注意使用update的時候,要注意weher條件的限制,下面的語句是只更新id為10005的email位址,如果不加where語句限制,那麼將表中所有的email更新為 elmer fudd.com 刪除某個列的值,設定為null即可。刪除行的sql語句,使...
Hibernate 資料的批量插入 更新和刪除
hibernate完全以物件導向的方式來運算元據庫,當程式裡以物件導向的方式操作持久化物件時,將被自動轉換為對資料庫的操作。例如呼叫session的delete 方法來刪除持久化物件,hibernate將負責刪除對應的資料記錄 當執行持久化物件的set方法時,hibernate將自動轉換為對應的up...