Sql Server系列:Delete语句

  数据的删除将删除表的部分或全部记录,删除时可以指定删除条件从而删除一条或多条记录。如果不指定删除条件,DELETE语句将删除表中全部的记录,清空数据表。

1 DELETE语法

[ WITH <common_table_expression> [ ,...n ] ]
DELETE 
    [ TOP ( expression ) [ PERCENT ] ] 
    [ FROM ] 
    { { table_alias
      | <object> 
      | rowset_function_limited 
      [ WITH ( table_hint_limited [ ...n ] ) ] } 
      | @table_variable
    }
    [ <OUTPUT Clause> ]
    [ FROM table_source [ ,...n ] ] 
    [ WHERE { <search_condition> 
            | { [ CURRENT OF 
                   { { [ GLOBAL ] cursor_name } 
                       | cursor_variable_name 
                   } 
                ]
              }
            } 
    ] 
    [ OPTION ( <Query Hint> [ ,...n ] ) ] 
[; ]

<object> ::=
{ 
    [ server_name.database_name.schema_name. 
      | database_name. [ schema_name ] . 
      | schema_name.
    ]
    table_or_view_name 
}

2 根据指定条件删除一条或多条记录

DELETE FROM [dbo].[Product] WHERE ProductID = 1

3 删除表中全部记录

  使用不带WHERE字句的DELETE语句可以删除表中的全部记录。

DELETE FROM [dbo].[Product]

  删除表中的全部记录也可以使用TRUNCATE语句:

TRUNCATE TABLE [dbo].[Product]

4 使用 TOP 限制删除的行数

  当 TOP (n) 子句与 DELETE 一起使用时,将针对随机选择的 n 行执行删除操作。

DELETE TOP (10) FROM [dbo].[Product]
posted @ 2014-11-24 10:22  libingql  阅读(12697)  评论(0编辑  收藏  举报