SQL删除数据的三种方式:

1.delete:用于删除表中的行数据,如果不带where条件则会删除表中所有数据,删除操作作为事务记录在日志中,可回滚操作还原数据。

delete [from]  table_name  [where <删除条件>]

2.truncate:只删除表中所有的数据,删除操作不记录在日志中,不能回滚操作还原数据。

truncate table   table_name

3.drop:用于删除表(表的数据、结构、属性以及索引也会被删除),并将表所占用的空间全部释放,不能回滚操作还原数据。

 drop table  table_name

从速度上drop>truncate>delete,但因为drop、truncate不能回滚操作所以要慎重。

还有一个小技巧,按条件删除数据的话,先用select 代替delete,看看查询出来的数据是不是自己需要删除的数据,再用delete替换select,这样可以避免误删,以免后面执行恢复数据操作。

示例:

表的定义如下:

CREATE TABLE [dbo].[stud_grade_all](
	[stud_id] [char](10) NOT NULL,--学号
	[name] [nvarchar](4) NOT NULL,--姓名
	[course_id] [char](10) NULL,--课程号
	[grade] [decimal](4, 1) NULL--成绩
)

1.删除stud_grade_all表中‘张三’和‘李伟’的成绩记录:

delete from [dbo].[stud_grade_all] 
 where name in( '张三','王刚')

2.删除stud_grade_all表中的所有数据,保留stud_grade_all表结构:

delete from [dbo].[stud_grade_all] 
truncate table  [dbo].[stud_grade_all] 

3.删除stud_grade_all表中的数据,以及删除该表:

drop table [dbo].[stud_grade_all]

end
在这里插入图片描述

有兴趣的小伙伴可以关注“SQL数据库笔记”公众号,一起学习吧!
在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐