在SQL server 2008中如何更新、删除数据
SQL语句可以更新和删除数据,这应该很有用处,倘若要建立一个网站,那么数据要写进数据库,就可以用到这些语句了。
1. SQL更新数据表中的数据update
语法:
Update 表名
Set 字段名=更新值
Where 条件表达式
参数:
Update指出要更新那个表的数据
Set支持要更新的字段名
Where指出更新字段中的那些数据
如果要更新多个字段的数据,可以在SET后将更新的数据值一一列出,用“’”分隔。
利用子查询更新数据表,如果更新的数据需要其他表中得到参数,就可以利用子查询来完成任务。
使用表连接更新数据,可以使用FROM和WHERE的结合来查询参数条件,语法:
Update 表名
Set 字段名=更新值
From 表1,表2
Where 条件按表达式
这样就从几个表中联合查询得到条件和参数。
2. update将数据更新为NULL删除数据
语法:
Update 表名
Set 字段=NULL
Where 条件表达式
3. 删除数据表中的数据delete语句
语法:
Delete from 表名
Where 条件表达式
联合查询删除数据,会有所区别。
语法:
Delete 表名
From 表1,表2
Where 条件表达式
这里删除的是DELETE后的表中的数据,而与from后的表无关,from后的表只是联合查询的参数或者条件。
如果要删除所有的数据,只需要不设定条件即可:
Delete from 表名
这样就OK了,但是还有一种方法,是前面学过的,在学习表的删除阶段和重命名时,就曾学习到一个关键词叫TRUNCATE,这个关键词也可以实现这个效果,实际上,这个截断的效果执行效率更高,因为delete删除数据时会写一些日志文件,如果删除执行失败,数据将会回退,保持原样,truncate就不会写日志文件:
Truncate table 表名
这样也就OK了。
4. 使用视图更新和删除数据表中的数据
语法:
Update 视图名
Where 条件表达式
Delete from 视图名
Where 条件表达式
和操作数据表是一样的,但是很多视图无法更新数据成功:
1. 含有聚合函数
2. 含有group by的语句
3. 视图中有非空约束但又不含有默认值的字段
4. 含有distinct关键词
5. 含有需要计算值字段
6. 含有多表连接的视图。
相关文章: