Sql Server系列:Delete语句

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

  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 
}

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

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

2. 删除表中全部记录

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

DELETE FROM [dbo].[Product]

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

TRUNCATE TABLE [dbo].[Product]

3. 使用 TOP 限制删除的行数

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

DELETE TOP (10) FROM [dbo].[Product]

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。