删除的办法是执行truncat方法,只是不需要每次手动的输入truncate命令进行删除。
通过sql命令的方式生成所有的truncate语句并写入到.sql脚本文件中,然后执行脚本即可完成删除 *** 作,并且保留了表结构。
生成truncate命令的sql语句为:
SELECTCONCAT('TRUNCATETABLE',TABLE_NAME,';')FROMinformation_schema.TABLESWHERETABLE_SCHEMA='test'intooutfile'/tmp/truncate_test.sql';。
然后将生成的.sql脚本拷贝到当前文件夹下面:
mv/tmp/truncate_test.sql$current_dir/。
然后执行.sql脚本将数据库中所有表中数据删除:
source$current_dir/truncate_test.sql。
注意:
在进行select....intooutfile...... *** 作时,默认只能将文件写入到tmp路径下,可以不用将tmp文件夹下面的.sql脚本移动到当前文件夹下,直接在tmp路径下执行.sql脚本即可。
扩展资料:
常见的删除数据库表中数据的方法是通过delete或者truncate的方法进行删除 *** 作,如果删除的是表中某一条或者部分数据的话适合用delete *** 作进行删除,如果要删除表中所有的数据的话,适合是同truncate进行删除 *** 作。
如果不需要保留数据库中所有表的结构,那么答案很简单,执行命令dropdatabase数据库名即可达到目的。
但是如果需要保留该数据库中所有表的结构,只想删除所有表中的数据,多执行几次truncate可以达到。
参考资料:
在SQL中,能快速删除数据表中所有记录,但保留数据表结构的语句是Truncate。
使用Truncate删除所有行,该语句总是比不带条件的DELETE语句要快,因为DELETE语句要记录对每行的删除 *** 作,而Truncate 语句只记录整个数据页的释放。Truncate语句立即释放由该表的数据和索引占用的所有空间,所有索引的分发页也将释放。
与DELETE语句相同,使用Truncate清空的表的定义,同其索引和其它相关的对象一起仍保留在数据库中。必须使用DROP TABLE语句才能除去表的定义。
SQL是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统,同时也是数据库脚本文件的扩展名。
结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口,这使它具有极大的灵活性和强大的功能。
delete
from
table_name
清除表中的所有数据、保留表
结构
Truncate
table
table_name
清除表中所有行,保留表结构、与delete类似
比delete速度快,而且效率高,使用的系统和
事务日志
资源
少
drop
table
table_name
删除表(所有数据及表结构)
有两种办法可以删除表中的所有数据:
1、TRUNCATE TABLE 删除表中的所有行,而不记录单个行删除 *** 作。
语法 TRUNCATE TABLE name
参数 name 是要截断的表的名称或要删除其全部行的表的名称。
2、Delete from tablename where 1=1
以上就是关于mysql如何删除数据库中所有数据但是要保留表全部的内容,包括:mysql如何删除数据库中所有数据但是要保留表、在SQL中,能快速删除数据表中所有记录,但保留数据表结构的语句是什么、如何清空 sql server 2005数据库中一个表内的全部数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)