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可以达到。
参考资料:百度百科-数据表
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)