我们如何从数据库中删除某些特定的表。例如,我有一个包含 20.000 多个表的数据库,我需要删除名称中包含一些特定字符串的数据库。那么我该怎么做呢?有没有办法从数据库中获取所有表名?
您可以从以下位置获取具有特定名称的表information_schema
.
这是获取数据库中表列表的方法:
select table_name from information_schema.tables;
考虑到这一点,您可以生成一个脚本来删除您需要的表:
select concat('drop table ', table_name, ';')
from information_schema.tables;
然后复制该脚本并将其粘贴到 SQL 解释器上。
您还可以根据名称或数据库过滤表:
select concat('drop table ', table_name, ';')
from information_schema.tables
where table_name like 'abc%'
and table_schema = 'myDatabase'; --db name
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)