sql怎么删除一个表中的所有数据

sql怎么删除一个表中的所有数据,第1张

删除表数据有两种方法:delete和truncate。具体语句如下:

一、RUNCATE TABLE name  :

删除表中的所有行,而不记录单个行删除 *** 作。 在这个指令之下,表格中的资料会完全消失,可是表格本身会继续存在。

TRUNCATE TABLE 的语法:TRUNCATE TABLE name ,参数 name 是要截断的表的名称或要删除其全部行的表的名称。

二、Delete from tablename where 1=1

1、delete语法:

DELETE FROM 表名称 WHERE 列名称 = 值。

2、删除所有行:

可以在不删除表的情况下删除所有的行。这意味着表的结构、属性和索引都是完整的:DELETE FROM table_name。

扩展资料:

truncate和delete的共同点及区别:

1、 truncate和 delete只删除数据不删除表的结构(定义) 。

2、delete语句是dml,这个 *** 作会放到rollback segement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发。

truncate是ddl, *** 作立即生效,原数据不放到rollback segment中,不能回滚 *** 作不触发trigger。

3、delete语句不影响表所占用的extent, 高水线(high watermark)保持原位置不动 。truncate 语句缺省情况下见空间释放到 minextents个 extent,除非使用reuse storage;   truncate会将高水线复位(回到最开始)。

4、速度,一般来说: truncate >delete 。

参考资料:

百度百科--Truncate Table

百度百科--DELETE语句

你是要用SQL语句还是在界面中删除

如果是在界面中删除

右键 选择删除就行了

如果是用SQL语句,你最好是表中有一个唯一定位这个记录的字段,如编号之类的,用下面的语法delete 表名 where 编号=123

这种情况只能使用SQL游标了,经测试过的代码如下:

Create proc delete_no @no int output            //定义存储过程

as

declare @name varchar(10)                      //这里的变量要设置成与表字段一致

declare @age varchar(10)

declare @phone varchar(20)

declare @email varchar(50)

Declare Cursor1 Cursor scroll for                 //定义游标

select  from q2                                           //q2需改成你要查询的表

open Cursor1                                             //打开游标

fetch absolute @no from Cursor1 into @name,@age,@phone,@email      //查询对应行记录并存入变量中

delete from q2 where name=@name                  //删除对应行

close Cursor1                                               //关闭游标

deallocate Cursor1

go

exec delete_no 5                                          //执行存储过程,参数为5,即删除第五行记录,你可自由修改

截图如下:

执行前:

执行:

执行后:

以上就是关于sql怎么删除一个表中的所有数据全部的内容,包括:sql怎么删除一个表中的所有数据、ACCESS数据库中某一行被删除了是怎么回事、sql server数据库如何删除指定行高分求解等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9515408.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存