用于表示和查询mySQL表定义的Perl对象

时间:2013-02-15 18:40:31

标签: mysql perl ddl

我完全不知道自己想要什么,但肯定有人有同样的需求,并以比我更好的方式解决了这个问题:

我正在寻找一些机制来从数据库中提取mySQL表的数据定义,并允许查询列及其定义列表,作为动态构造DML的例程的一部分?将表参数(例如ENGINE,INDEX等)也可用也是一件好事。

我们的数据库并不是特别先进,我当然不具备SQL DDL的百科知识,所以我想到的可能对其他人没什么用处。在Perl中是否已经存在一些东西 - 最好是面向对象 - 这样做,至少对于mySQL来说?

2 个答案:

答案 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?