summaryrefslogblamecommitdiff
path: root/databases/p5-Msql/pkg-descr
blob: fd86725e90bc5ba3b1f903a5bd41961273996a08 (plain) (tree)

























































                                                                      
What you achieve with MsqlPerl
------------------------------

MsqlPerl is an interface between the perl programming language and the
mSQL programming API that comes with the mSQL relational database
management system. All functions provided by the mSQL programming API
are supported.

From perl you activate the interface with the statement

    use Msql;

After that you can connect to multiple msql database servers and send
multiple queries to any of them via an simple object oriented
interface. Two types of objects are available: database handles and
statement handles. Perl returns a database handle to the Connect
method like so:

    $dbh = Msql->connect($hostname,$databasename);

Once you have connected to a database, you get a statement handle
with:

    $sth = $dbh->query("select foo from bar");

You can open as many queries as you like simultaneously by selecting a
different scalar to hold the object:

    $another_sth = $dbh->Query("select bar from foo");


The statement handle allows you to step through the virtual table
returned from the database with the FetchRow method:

    @row = $sth->fetchrow;
or
    %hash = $sth->fetchhash;

You can access all metadata that mSQL supplies for a given table. To
find out the number of rows or the number of fields returned by a
query you simply say:

    $numrows = $sth->numrows;
    $numfields = $sth->numfields;

To find out the size in bytes for the field with the offset 0 (the
first field of a query), you say:

    $length = $sth->length->[0];

The list of the names for each column is returned by

    @list => $sth->name;

As for other metadata available, consult the manpage that comes with
MsqlPerl and study the examples in the file t/msql.t, which is the
extensive testscript to test your installation, but is heavily
commented, so you may use it as a tutorial.