我有一个数据库 db1 包含许多表
例如,我想删除所有带有前缀 v1_ 的表,例如
DROP TABLE IF EXISTS v1_*;
Run Code Online (Sandbox Code Playgroud)
你有什么主意吗?
遗憾的是,Athena SQL 无法做到这一点。
不过,您可以使用 Glue API 来实现类似的功能,例如通过AWS CLI:
aws glue get-tables \
--region us-east-1 \
--database-name my_database \
--query 'TableList[].Name' \
--output text \
| grep -F v1_ \
| xargs -n 1 aws glue delete-table \
--region us-east-1 \
--database-name my_database \
--name
Run Code Online (Sandbox Code Playgroud)
上面的命令列出了 us-east-1 区域中名为“my_database”的数据库中的所有表,并通过“v1_”过滤它们(您可能希望通过正则表达式进行过滤以确保它仅在开头匹配)。然后,它将匹配的表名称一一输入到删除它们的命令中。
| 归档时间: |
|
| 查看次数: |
2501 次 |
| 最近记录: |