update:更新或修改表中的数据
主要有两种方式:更新表中特定行 和 更新表中所有的行
-- 格式
UPDATE 表名 set 列名= 更新值[WHERE 更新条件]
其中:
set后面可以紧随多个“列名=更新值” 以修改多个数据列的值 ,不限一个,不同列质检使用逗号分隔。
where 子句是可选的,用来限制更新数据的条件,如果不限制,整个表的行都不被更新,可以更新一行、多行、全部
他们之间通过where 子句进行控制,没有使用where 子句的话就会对表中所有的行进行更新。
update 语句主要由三部分组成,要更新的表、列名和它们的新值 和 确定要更新行的过滤条件
1、对一行中的一列进行更新
-- update 表名 set 列名 = 值 筛选条件
update customers set cust_city = 'test10008city' where cust_id = 10008;
使用筛选条件的话,一般都是使用主键,也可使用其他,但是要保证其唯一
2、对一行中多列进行更新
多列之间通过逗号进行分隔
-- update 表名 set 列1= 列值1, 列2 = 列值2 where 主键 = 主键值;
update customers set cust_city = '10008city1212', cust_state = '10008state1111'
where cust_id = 10008;
3、对多行中多列更新
update customers set cust_city = 'city2222',cust_zip = 'zip222'
where cust_id >10008;
当使用update更新多条语句的时候,如果有一行或多行出现了错误,则整个update 语句都会被取消,错误之前修改的也会被还原。
如果不想,即使发生错误也要继续更新可以使用 IGNORE 关键字。
-- 即使出现错误也继续更新
update ignore 表名 。。。
4、删除某列的值
方法:将其设置为 null,针对于该列被定义为允许为null 值
5、列名与数值结合更新
-- 所有低于或等于85 的学生 分数在原有基础上增加5 分数
Update tb_result set stuResult = stuResult +5 where stuResult <=85