电脑技术学习

在SQL server 2008中如何更新、删除数据

dn001

  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. 含有多表连接的视图。