你知道用Perl编写的带DBI接口的数据库吗?

时间:2010-06-06 13:58:19

标签: database perl dbi

你知道一个纯粹用Perl编写的DBI接口数据库吗? 或者如果没有安装MySql或Postgresql并且我只想使用Perl,可以使用什么?

谢谢。

好的,我只想要一些可以与Catalyst一起使用的东西。

6 个答案:

答案 0 :(得分:17)

SQLite怎么样? DBD::SQLite

答案 1 :(得分:13)

我相信DBD::CSV是一个简单的DBD实现,它使用Text :: CSV将数据保存为CSV文件。

答案 2 :(得分:8)

这在很大程度上取决于你认为的“数据库”。

如果您只想存储数据,可以使用许多可用的Perl数据库。其中一些列在此处:http://www.perl.com/pub/a/2004/09/12/embedded.html

  • 铁::文件

  • Berkley DB

  • SQLite的

    请注意,尽管我在这里看到“SQLite是用C语写的”评论,但文章明确指出

      

    方便的是,DBI驱动程序   SQLite,DBD :: SQLite,已经包含   数据库引擎本身作为其中的一部分   模块 - 所以安装这个模块   是所有必需的   使用Perl中的SQLite。

但是,上面的NONE是一个真正的数据库引擎,支持事务等...,虽然有些允许类似SQL的查询语言访问

我不知道在Perl中实现了任何真正的数据库引擎。

答案 3 :(得分:2)

Perl规则34:

  

如果可以想象,那就是DBD   它的模块;)

http://search.cpan.org/search?m=module&q=DBD::&s=1

答案 4 :(得分:1)

AFAIK纯粹的perl中没有 relational 的数据库,它不是很经济;你可以在CPAN上查看ACME。

基本上你有两个选择:一个纯perl模块,它提供一个环绕的DBD包,例如.txt,.csv或.xml文件。

如果没有,您也可以使用纯perl实现自己的BDB / DBM样式系统,就像Ken Thompson在C中使用DBM一样。但是,它不会像拥有基于SQL的关系数据库那么复杂。

如果您希望使用SQL,请使用基于SQL的数据库。

答案 5 :(得分:0)

DBD::DBM 是一个纯粹的Perl数据库驱动程序,它是自版本1.42(2004年4月)以来 DBI 本身的一部分。它可以使用各自的模块与各种不同的数据库格式一起工作,例如, BerkleyDBSDBM_File(核心模块)。

需要将其与MLDBM结合使用以获得可用的数据库(否​​则每个表支持两列)。

DBD :: DBM的文档非常广泛,可以很好地概述不同的选项以及如何设置它。