首页 > 代码库 > Sql Server系列:Delete语句

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]

Sql Server系列:Delete语句