设为首页 加入收藏

TOP

Sql表数据操作(二)
2014-11-24 01:44:56 来源: 作者: 【 】 浏览:16
Tags:Sql 数据 操作
ll的人员的姓名改为张三、性别改为女,年龄改为18

UPDATE usertable

SET name=张三,sex=女,age=18

WHERE name IS NULL


三、删除数据

Transact-SQL中,DELETE和TRUNCATE TABLE语句均可以删除表中的数据。DELETE语句的语法格式为:

DELETE

{table_name | view_name}

FROM

{



| (select_statement) [AS] table_alias [(column_alias [,…m])]

}[,…n]

[WHERE

{

|{ [CURRENT OF {{[global] cursor_name}

|cursor_variable_name

}



DELETE语句的结构与UPDATE语句有些类似,其中也包含FROM子句和WHERE子句。WHERE子句为数据删

除指定条件。不使用WHERE子句时,DELETE语句将把有或视图中所有的数据删除。FROM子句是Transact-SQL在ANSI基础上对DELETE语句的扩展,它指定要连接的表名,提供与相关子查询相似的功能。

TRUNCATE TABLE语句语法格式为:

TRUNCATE TABLE table_name

TRUNCATE TABLE语句删除指定表中的所有数据行,但表结构及其所有索引继续保留,为该表所定义约束、规则、默认和触发器仍然有效。如果所删除表中包含有IDENTITY列,则该列将被复位到其原始基值。使用不带WHERE子句的DELETE语句也可以删除表中所有行,但它不复位IDENTITY列。

与DELETE语句相比,TRUNCATE TABLE语句的删除速度更快。因为DELETE语句在每删除一行时都要把删除操作记录到日志中,而TRUNCATE TABLE语句则是通过释放表数据页面的方法来删除表中数据,它只在释放页面做一次事务日志记录。所以使用TRUNCATE TABLE语句删除数据后,这些行是不可恢复的,而DELETE操作则可回滚,能够恢复原来数据。

因为TRUNCATE TABLE语句不做操作日志,它不能激活触发器,所以TRUNCATE TABLE语句不能删除一个被其它表通过FOREIGN KEY约束所参照的表。

例一、使用DELETE语句删除usertable表中name为张三的数据行

DELETE usertable

WHERE name=张三



例二、下面使用FROM子句和WHERE子句指定条件,然后从TB_update表中删除数据

DELETE TB_update

FROM TB_constraint AS a,TB_update AS b

WHERE a.name=b.name

AND a.country=China



DELETE TB_update

FROM (SELECT * FROM TB_constraint

WHERE country=USA) AS a

WHERE a.name=TB_update.name
首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇跟我学SQL:(三)使用SQL子选择来.. 下一篇db2数据库迁移到mssql记录之一

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: