删除表数据有两种方法:delete和truncate。具体语句如下:
一、RUNCATETABLEname:
删除表中的所有行,而不记录单个行删除 *** 作。在这个指令之下,表格中的资料会完全消失,可是表格本身会继续存在。
TRUNCATETABLE的语法:TRUNCATETABLEname,参数name是要截断的表的名称或要删除其全部行的表的名称。
二、Deletefromtablenamewhere1=1
1、delete语法:
DELETEFROM表名称WHERE列名称=值。
2、删除所有行:
可以在不删除表的情况下删除所有的行。这意味着表的结构、属性和索引都是完整的:DELETEFROMtable_name。
扩展资料:
truncate和delete的共同点及区别:
1、truncate和delete只删除数据不删除表的结构(定义)。
2、delete语句是dml,这个 *** 作会放到rollbacksegement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发。
truncate是ddl, *** 作立即生效,原数据不放到rollbacksegment中,不能回滚 *** 作不触发trigger。
3、delete语句不影响表所占用的extent,高水线(highwatermark)保持原位置不动。truncate语句缺省情况下见空间释放到minextents个extent,除非使用reusestorage;truncate会将高水线复位(回到最开始)。
4、速度,一般来说:truncate
写一个存储过程,以后就可以一性删除。
如:
mysql
>
CREATE
PROCEDURE
demo_in_parameter(IN
p_in
int)
->
BEGIN
->
delete
from
表名1
where
字段=p_in;
->
delete
from
表名2
where
字段=p_in;
->
delete
from
表名3
where
字段=p_in;
->
END;
以后删除就调用存储过程
mysql
>
SET
@p_in=1;
mysql
>
CALL
demo_in_parameter(@p_in);
以上就是关于sql怎么删除一个表中的所有数据(删除数据库中的表)全部的内容,包括:sql怎么删除一个表中的所有数据(删除数据库中的表)、如何删除mysql数据库多个表中某个同一个字段的数据、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)