6.3 SQL Server删除数据
SQL Server DELETE
SQL Server DELETE语句简介
要从表中完全删除一行或多行,可以使用DELETE
语句。语法:
DELETE [ TOP ( expression ) [ PERCENT ] ] FROM table_name [WHERE search_condition];
首先在FROM
子句中指定要删除数据的表。
如下将会删除target_table
表中所有数据:
DELETE FROM target_table;
其次,要指定将被删除的随机行的数量或百分比,可以使用TOP子句。
移除随机10条数据:
DELETE TOP 10 FROM target_table;
由于该表按未指定的顺序存储其行,因此我们不知道将删除哪些行,但我们可以确定将删除的行数为10。
删除百分之10:
DELETE TOP 10 PERCENT FROM target_table;
实际上几乎不会删除所有行,而只是删除一行或者几行,这种情况下,需要通过WHERE
子句指定条件。
SQL Server DELETE语句示例
假设有一张名为products
的表。
以下DELETE
语句从products
表中删除21个随机行:
DELETE TOP (21) FROM products;
随机删除百分之5的行:
DELETE TOP (5) PERCENT FROM products;
删除满足条件的行:
假设存在UserInfo(用户信息)表
-- 删除用户表中的数据 delete from Userinfo select * from UserInfo -- 查询用户表 -- 删除张三,李四两位用户 Delete from UserInfo where UserName='张三' or UserName= '李四' -- in:在...里面 delete from UserInfo where UserName in('张三','李四') -- 删除用户编号为:4,5,6 并且 性别 =3 的用户信息 delete from UserInfo where Id in('4','5','6') and Sex='3' 或者 delete from UserInfo where Id in(4,5,6) and Sex=3
注意:什么情况下,一定需要加引号?
- 字符串,一定需要加引号,还有日期,时间,中文
- 数字:可加可不加, 建议不要加
删除所有行:
DELETE FROM products;
TRUNCATE
示例
TRUNCATE TABLE products;
TRUNCATE与DELETE的区别
- truncate是真正意义上的清空,不能加任何查询条件,自增id会重置
- delete只是删除数据,如果Id是自增,则自增种子不会从头开始。
请注意,如果要从大表中删除所有行,则应使用TRUNCATE TABLE语句,该语句速度更快、效率更高。
分类:
SQL Server
标签:
SQL Server
, 数据库
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· DeepSeek “源神”启动!「GitHub 热点速览」
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器