快速业务通道

Sql表数据操作

作者 佚名技术 来源 数据库编程 浏览 发布时间 2012-03-22
S (18,''张三'')

例三、在数值列表中,还可以将变量的值插入到表中。在使用变量为列提供数据时,应保证变量的数据类型与列数据类型相同,或是可以自动将它们转换为相同的数据类型。例如:

DECLARE @name char(16)

SET @name=''张三''

INSERT usertable

VALUES (@name,DEFAULT,20)

本例中asp中是这样的:

dim name

name="张三"

sqlstr="INSERT usertable VALUES (''"&name&"'',''女'',20)"

……



例四、将SELECT子句的所返回的结果集合插入到表中。例如:

INSERT usertable (name,sex,age)

SELECT ''s''+name,sex,age

FROM usertable

WHERE name like ''张%%''


二、修改数据

Transact-SQL中的UPDATE语句用于修改表中数据,该语句的语法格式为:

UPDATE ()

SET (

column_name={expression | DEFAULT }

| @variable = expression

} [,…n]

[FROM

{

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

}

[,…n]

]

[WHERE



| CURRENT OF ({[GLOBAL] cursor_name } | cursor_variable_name} }

]

别看写了一大堆,最常用的只是下列格式:

UPDATE table_name

SET column_name1=variable1,column_name2=variable2

WHERE search_conditions

其中table_or_view参数指出待修改的表或视图名称,其格式与INSERT语句中该参数的格式相同。

SET子句指出表中被修改的列或变量,以及它们的新值。column_name为被修改的列名,@variable为一个已经声明的局部变量名称,它们修改后的值由expression表达式提供,或使用DEFAULT关键字将默认值赋给指定列。

FROM子句引出另一个表,它为UPDATE语句的数据修改操作提供条件。

WHERE子句中的search_conditions 参数说明UPDATE语句的修改条件,它指出表或视图中的哪些行需要修改。省略WHERE子句时,说明对指定的表或视图中的所有行进行修改!!!!

WHERE子句中的CURRENT OF说明在游标的当前位置处执行修改操作,游标由curror_name 或游标变量cursor_variable_name指定。

UPDATE不能修改具有IDENTITY属性列的列值。

例一、将usertable表中所有人员的性别改为''男''

UPDATE usertable

SET sex=''男''



例二、将性别为null的所有人员的性别改成''男''

UPDATE usertable

SET sex=''男''

WHERE sex IS NULL

例三、将所有姓名为null的人员的姓名改为''张三''、性别改为''女'',年龄改为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操作则

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号