DBD::Mem - a DBI driver for Mem & MLMem files
Contents
Description
DBD::Mem is a database management system that works right out of the box. If you have a standard
installation of Perl and DBI you can begin creating, accessing, and modifying simple database tables
without any further modules. You can add other modules (e.g., SQL::Statement) for improved
functionality.
DBD::Mem doesn't store any data persistently - all data has the lifetime of the instantiated $dbh. The
main reason to use DBD::Mem is to use extended features of SQL::Statement where temporary tables are
required. One can use DBD::Mem to simulate "VIEWS" or sub-queries.
Bundling "DBD::Mem" with DBI will allow us further compatibility checks of DBI::DBD::SqlEngine beyond the
capabilities of DBD::File and DBD::DBM. This will ensure DBI provided basis for drivers like
DBD::AnyData2 or DBD::Amazon are better prepared and tested for not-file based backends.
Metadata
There're no new meta data introduced by "DBD::Mem". See "Metadata" in DBI::DBD::SqlEngine for full
description.
Getting Help, Making Suggestions, And Reporting Bugs
If you need help installing or using DBD::Mem, please write to the DBI users mailing list at
<mailto:dbi-users@perl.org> or to the comp.lang.perl.modules newsgroup on usenet. I cannot always answer
every question quickly but there are many on the mailing list or in the newsgroup who can.
DBD developers for DBD's which rely on DBI::DBD::SqlEngine or DBD::Mem or use one of them as an example
are suggested to join the DBI developers mailing list at <mailto:dbi-dev@perl.org> and strongly
encouraged to join our IRC channel at <irc://irc.perl.org/dbi>.
If you have suggestions, ideas for improvements, or bugs to report, please report a bug as described in
DBI. Do not mail any of the authors directly, you might not get an answer.
When reporting bugs, please send the output of "$dbh->mem_versions($table)" for a table that exhibits the
bug and as small a sample as you can make of the code that produces the bug. And of course, patches are
welcome, too :-).
If you need enhancements quickly, you can get commercial support as described at
<http://dbi.perl.org/support/> or you can contact Jens Rehsack at rehsack@cpan.org for commercial
support.
Name
DBD::Mem - a DBI driver for Mem & MLMem files
See Also
DBI for the Database interface of the Perl Programming Language.
SQL::Statement and DBI::SQL::Nano for the available SQL engines.
SQL::Statement::RAM where the implementation is shamelessly stolen from to allow DBI bundled Pure-Perl
drivers increase the test coverage.
DBD::SQLite using "dbname=:memory:" for an incredible fast in-memory database engine.
perl v5.40.0 2025-02-01 DBD::Mem(3pm)
Synopsis
use DBI;
$dbh = DBI->connect('dbi:Mem:', undef, undef, {});
$dbh = DBI->connect('dbi:Mem:', undef, undef, {RaiseError => 1});
# or
$dbh = DBI->connect('dbi:Mem:');
$dbh = DBI->connect('DBI:Mem(RaiseError=1):');
and other variations on connect() as shown in the DBI docs and <DBI::DBD::SqlEngine
metadata|DBI::DBD::SqlEngine/Metadata>.
Use standard DBI prepare, execute, fetch, placeholders, etc.
