我们如何从数据库中删除一些特定的表.例如,我有一个包含超过20.000个表的数据库,我需要删除名称中包含一些特定字符串的数据库.那我该怎么办呢?有没有办法从数据库中获取所有表名?
您可以从中获取具有某些名称的表格information_schema.
这是您获取数据库中表的列表的方法:
select table_name from information_schema.tables;
Run Code Online (Sandbox Code Playgroud)
考虑到这一点,您可以生成一个脚本来删除所需的表:
select concat('drop table ', table_name, ';')
from information_schema.tables;
Run Code Online (Sandbox Code Playgroud)
然后复制该脚本并将其粘贴到SQL解释器上.
您还可以根据名称或数据库过滤表:
select concat('drop table ', table_name, ';')
from information_schema.tables
where table_name like 'abc%'
and table_schema = 'myDatabase'; --db name
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1150 次 |
| 最近记录: |