数据的删除将删除表的部分或全部记录,删除时可以指定删除条件从而删除一条或多条记录。如果不指定删除条件,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]