postgresql - Postgres,如何迭代访问数据库中的所有表,子查询?
问题描述
嗨 Postgres 社区:D
我正在尝试阅读表格的内容以掌握它们的图片。所以,我的问题是:如何在数据库中显示所有表头,给出与下面的天真整洁查询相同的结果。我想一定有一种奇特的方式只需要一行查询就可以做到这一点。请帮帮我!
# naive
SELECT * FROM mytable0001;
SELECT * FROM mytable0002;
SELECT * FROM mytable0003;
...
SELECT * FROM mytable9999;
# wannabe
SELECT * FROM foo (SELECT table_name FROM information_schema.tables) AS foo limit 5;
先感谢您!
解决方案
您可以尝试使用 psql CLI 和 \gexec 命令。使用以下输入:
select format('select * from %s;',tablename)
from pg_tables
where tablename like 'table%'
\gexec
你一口气进入:
select format('select * from %s;',tablename)
from pg_tables
where tablename like 'table%'
select * from table0001;
c1 | c2
----+---------
1 | table 1
(1 row)
select * from table0002;
c1 | c2
----+---------
1 | table 2
2 | table 2
(2 rows)
select * from table0003;
c1 | c2
----+---------
1 | table 3
2 | table 3
3 | table 3
(3 rows)
推荐阅读
- build - 使用 CMake,如何将别名“安装”到库?
- java - .class 文件中的 Java 访问方法
- python - 在 Pytorch 中的 2d 网格上应用 2d 卷积
- python - Python:为每一行从另一个列表中删除出现在一个列表中的字符串
- flutter - “WIDGETS LIBRARY CUGHT CUGHT”即使是新创建的项目,每个项目都不会打印?什么?
- python - 我想用原始位深度保存我的调整大小/缩放opencv图像?
- php - 我的 html 代码没有在我的编辑帖子表单中正确回显/
- redis - 让 ESP8266 Lua 客户端与 Redis 数据库通信有什么建议吗?
- machine-learning - 如果每次迭代都抛弃模型,交叉验证的目的是什么
- corda - Corda - 最终在医院进行的单元测试流程