Sql Server系列:Delete语句

  数据的删除将删除表的部分或所有记录,删除时能够指定删除条件从而删除一条或多条记录。若是不指定删除条件,DELETE语句将删除表中所有的记录,清空数据表。express

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语句能够删除表中的所有记录。spa

DELETE FROM [dbo].[Product]

  删除表中的所有记录也可使用TRUNCATE语句:code

TRUNCATE TABLE [dbo].[Product]

4 使用 TOP 限制删除的行数

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

DELETE TOP (10) FROM [dbo].[Product]
相关文章
相关标签/搜索