當我們在MySQL數據庫中查詢出了一批數據后,有時候需要對這批數據進行批量更新,這時候可以使用UPDATE語句結合查詢語句來實現。
UPDATE 表名 SET 字段名1=值1, 字段名2=值2, ... WHERE 條件語句;
其中,條件語句可以是多個條件組合而成的,以AND或OR連接。下面是一個實際例子。
UPDATE user SET status=1 WHERE age >18 AND gender='male';
上面的語句會將user表中年齡大于18歲且性別為男的用戶的狀態更新為1。
如果我們需要更新的字段值是從另外一個表中查詢出來的,可以使用子查詢來實現。
UPDATE user SET status=(SELECT level FROM user_level WHERE user_level.user_id=user.id) WHERE EXISTS (SELECT 1 FROM user_level WHERE user_level.user_id=user.id);
上面的語句會將user表中每個用戶的狀態更新為其在user_level表中對應的等級。
需要注意的是,在執行批量更新操作前,一定要先備份好數據,以防止誤操作導致數據丟失。
上一篇css 默認展開屬性