我有一个包含主表和一些未知数量的辅助表的数据库。主表有两列:ID(主键)和名称。辅助表可以包含任意数量的列,但保证将ID列作为其主键。此外,保证辅助表的ID列将主表的ID列作为外键引用。此外,可以假设数据库中的每个表都有每个ID。
我目前正在使用Python构建并向MySQL数据库发送查询。我希望能够做的是构建一个查询,它将通过ID列将数据库中的所有表连接在一起。我知道我可以使用SHOW TABLES;
返回数据库中的所有表,但我无法弄清楚如何从那里为未知数量的连接生成MySQL查询。
示例:我有三个表:A,B和C.A是主表,因此具有列ID和名称。 B有列ID,foo和bar。 C有列ID和baz。我需要构建一个连接,以便得到一个包含列ID,名称,foo,bar和baz的表。
编辑:为了提供更多细节,我的python程序正在运行一些未知数量的模块,每个模块都将对象存储在数据库中自己的表中的信息,这些表符合我之前提到的辅助表的约束。我可以将所有内容存储在一个更宽的表中(从而完全避免连接),但这需要我添加列,因为添加了更多模块,这对我来说感觉很奇怪。我不是一个SQL专家,所以这可能是要走的路。即使这就是我最终要做的事情,我仍然对如何做到这一点感到好奇。