功能:
对于UPDATE所指定的表,当满足WHERE子句后的
列名赋予“=”号后表达式的值。
说明:
用WHERE子句指定需要更新的行,如果没有选用WHERE子句,则更新表中所有的行。
如果行的更新违反了约束或者更新值是不兼容的数据类型,则取消执行该语句,同时返回错误提示。
表达式可以是SELECT子查询语句,将把查询到的结果赋值给相应列名。
--例:将[教务数据库]的[教师表]中教师号为“106088”的专业改为“计算机应用技术”,职称改为“副教授”。
USE [教务数据库]
UPDATE 教师表 SET 专业='计算机应用技术',职称='副教授'
WHERE 教师号='106088‘
-- 查询[教师表]副教授教师信息数据
select * FROM 教师表 WHERE 职称='副教授'
--例: 将[教务数据库]中的[课程表]中课程号为“106001”的课程名修改为“SQL 数据库技术”。
UPDATE 课程表 SET 课程名='SQL 数据库技术'
WHERE 课程号='106001‘
--例: 将[教务数据库]的[成绩表]中,成绩为59~~60分的均增加1分。
UPDATE 成绩表 SET 成绩=成绩+1
WHERE 成绩 BETWEEN 59 AND 60
另解:
UPDATE 成绩表 SET 成绩=成绩+1
WHERE 成绩>=59 AND 成绩<=60
练习例:
USE [Teaching]
GO
UPDATE [dbo].[奖学金表]
SET [奖金等级] ='2等', [奖学金] = 500
GO
--女生增加100
UPDATE [dbo].[奖学金表]
SET [奖学金] = [奖学金]+100
WHERE [性别]='女'
GO
自己练习:
1.更新指定行的列值
2.更新所有行的列值
3.更新来自另一个表的查询