SQLServer删除数据
使⽤SSMS删除数据
1、连接数据库、选择数据表-》右键点击,选择所有⾏(或者选择前200⾏)。
2、在数据窗⼝中选择数据⾏(注意点击最左边列选择整个数据⾏)-》在最左侧右键点击-》选择删除-》在弹出框中点击确定。
3、⽰例结果如下:
使⽤T-SQL脚本删除数据
删除单表单⾏数据
语法:delete from 数据库名.dbo.表名 where 条件;
⽰例:delete from st1 where id='12';
删除单表多⾏数据
语法:delete from 数据库名.dbo.表名 where 条件或者delete top(n) from 数据库名.dbo.表名 where 条件;⽰例:
delete from st1 where id>='14' and id<='15';
delete from st1 where id between '16' and '17';
delete from st1 where id in ('18','19');
delete top(2) from st1 where id>='20';
删除表中所有数据
语法:delete from 数据库名.dbo.表名;
⽰例:delete from st1;
清空表中所有数据
语法:truncate table 数据库名.dbo.表名;
⽰例:truncate table st1;
truncate和delete总结
效率:truncate⽐delete速度快且使⽤的系统和事务⽇志资源少。
应⽤范围:truncate只能对table,delete可以是table和view。
⽇志操作:delete 语句每次删除⼀⾏,并在事务⽇志中为所删除的每⾏记录⼀项,所以可以对delete操作进⾏roll back
两者差异:
1、truncate在各种表上⽆论是⼤的还是⼩的都⾮常快,如果有rollback命令delete将被撤销,⽽truncate则不会被撤销。
2、truncate是⼀个DDL语⾔,向其他所有的DDL语⾔⼀样,他将被隐式提交,不能对truncate使⽤rollback命令。
3、truncate将重新设置⾼⽔平线和所有的索引,在对整个表和索引进⾏完全浏览时,经过 truncate 操作后的表⽐delete操作后的表要快得多。
4、truncate不能触发任何delete触发器。
5、当表被truncate清空后表和表的索引讲重新设置成初始⼤⼩,⽽delete则不能。
6、不能清空⽗表。
总结
sqlserver备份表语句delete不需要列名和通配符,它是删除整⾏⽽不是删除列,要删除指定的列,请使⽤update语句,并且delete语句从表中删除⾏,甚⾄是删除表中所有⾏,⽽不是删除表本⾝。删除数据有风险,删除之前应该先备份。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论