我完全不知道自己想要什么,但肯定有人有同样的需求,并以比我更好的方式解决了这个问题:
我正在寻找一些机制来从数据库中提取mySQL表的数据定义,并允许查询列及其定义列表,作为动态构造DML的例程的一部分?将表参数(例如ENGINE,INDEX等)也可用也是一件好事。
我们的数据库并不是特别先进,我当然不具备SQL DDL的百科知识,所以我想到的可能对其他人没什么用处。在Perl中是否已经存在一些东西 - 最好是面向对象 - 这样做,至少对于mySQL来说?
答案 0 :(得分:3)
是的,有一个Perl包SQL :: Translator,它是名为SQLFairy的工具集的一部分。它从SQL脚本或实时数据库实例解析SQL DDL。它支持多种RDBMS,包括MySQL。
然后它提供了用于进行模式转换,模式差异以及一系列其他很酷的工具的工具。
我发现文档比大多数Perl项目更好,但我仍然必须阅读代码以了解如何以我想要的方式使用它。
答案 1 :(得分:2)
DBI界面有一组“目录方法”:http://metacpan.org/pod/DBI#Catalog-Methods。
您可以查看类似的StackOverflow问题:How do I get schemas from Perl's DBI?