r
删除记录r
r
要从表中删除一个或多个记录,需要使用SQLDELETE语句。你可以给DELETE语句提供WHERE子句。WHERE子句用来选择要删除的记录。例如,下面的这个DELETE语句只删除字段first_colum
的值等于’DeleteMe’的记录:r
r
DELETEmytableWHEREfirst_colum
’DeltetMe’r
r
DELETE语句的完整句法如下:r
r
DELETEFROMtable_
ameview_
ameWHEREclauser
r
在SQLSELECT语句中可以使用的任何条件都可以在DELECT语句的WHERE子句中使用。例如,下面的这个DELETE语句只删除那些first_colum
字段的值为’goodbye’或seco
d_colum
字段的值为’solo
g’的记录:r
r
DELETEmytableWHEREfirst_colum
’goodby’ORseco
d_colum
’solo
g’r
r
如果你不给DELETE语句提供WHERE子句,表中的所有记录都将被删除。你不应该有这种想法。如果你想删除应该表中的所有记录,应使用第十章所讲的TRUNCATETABLE语句。r
r
注意r
r
为什么要用TRUNCATETABLE语句代替DELETE语句?当你使用TRUNCATETABLE语句时,记录的删除是不作记录的。也就是说,这意味着TRUNCATETABLE要比DELETE快得多。r
r
更新记录r
r
要修改表中已经存在的一条或多条记录,应使用SQLUPDATE语句。同DELETE语句一样,UPDATE语句可以使用WHERE子句来选择更新特定的记录。请看这个例子:r
r
UPDATEmytableSETfirst_colum
’Updated’WHEREseco
d_colum
’UpdateMe’r
r
这个UPDATE语句更新所有seco
d_colum
字段的值为’UpdateMe’的记录。对所有被选中的记录,字段first_colum
的值被置为’Updated’。r
r
下面是UPDATE语句的完整句法:r
r
UPDATEtable_
ameview_
ameSETtable_
ameview_
amer
r
colum
_listvariable_listvariable_a
d_colum
_listr
r
colum
_list2variable_list2variable_a
d_colum
_list2…r
r
colum
_listNvariable_listNvariable_a
d_colum
_listNr
r
WHEREclauser
r
注意r
r
你可以对文本型字段使用UPDATE语句。但是,如果你需要更新很长的字符串,应使用UPDATETEXT语句。这部分内容对本书来说太高级了,因此不加讨论。要了解更多的信息,请参考MicrosoftSQLSever的文档。r
r
如果你不提供WHERE子句,表中的所有记录都将被更新。有时这是有用的。例如,如果你想把表titles中的所有书的价格加倍,你可以使用如下的UPDATE语句:r
r
你也可以同时更新多个字段。例如,下面的UPDATE语句同时更新first_colum
seco
d_colum
和third_colum
这三个字段:r
r
UPDATEmytableSETfirst_colum
’Updated’r
r
Seco
d_colum
’Updated’r
r
Third_colum
’Updated’r
r
WHEREfirst_colum
’UpdateMe1’r
r
技巧r
r
SQL忽略语句中多余的空格。你可以把SQL语句写成任何你最容易读的格式。r
r
用SELECT创建记录和表r
r
你也许已经注意到,INSERT语r