sql一次性drop多张表

sql一次性drop多张表,第1张

1 可以一次性drop多张表

2 在SQL中,可以使用一个DROP语句一次性删除多个表。

语法为:DROP TABLE table_name1, table_name2, ...

3 除了DROP语句外,还有其他一些SQL语句可以一次性 *** 作多个表,例如ALTER TABLE和CREATE TABLE等。

但需要注意的是,一次性 *** 作多个表可能会增加程序的复杂度和出错率,因此在使用时需要谨慎。

use 数据库名(是要删除表的所在的那个数据库的名称)\x0d\x0aGO\x0d\x0adeclare @sql varchar(8000)\x0d\x0awhile (select count(*) from sysobjects where type='U')>0\x0d\x0abegin\x0d\x0aSELECT @sql='drop table ' + name\x0d\x0aFROM sysobjects\x0d\x0aWHERE (type = 'U')\x0d\x0aORDER BY 'drop table ' + name\x0d\x0aexec(@sql) \x0d\x0aend-----------------------------------------------use 数据库一定要填对哦......

删除的办法是执行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可以达到。

参考资料:百度百科-数据表


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存