Matti Maekitalo: MySQL unter PERL

Beitrag lesen

use Mosche;

ich möchte gern eine MySQL-Datenbank unter PERL anlegen und
abfragen können.

Datenbankzugriffe werden unter Perl hauptsächlich mit dem DBI-Modul gemacht. DBI steht führ DataBase-Interface und ist die generelle Schnittstelle für alle Datenbanken. Daneben brauchst du für MySQL noch einen Datenbank-"Treiber", das Modul DBD::mysql.

Beispielscript:

use DBI;

my $dbh = DBI->connect('dbi:mysql:database=deine_db', 'username', 'password');

$dbh->do("--Hier SQL-Code--");

my $sth = $dbh->prepare("Select * from blah where blub = ?");

$sth->execute('bub');
while (my ($a, $b, $c) = $sth->fetchrow_array) {
 print "$a\t$b\t$c\n";
}
$sth->finish;

$dbh->disconnect;

Die Aufteilung mit DBI und DBD sieht erstmal ganz kompliztiert aus, hat aber folgenden Vorteil: Deine Scripte sind damit ohne große Portierung auf allen Datenbanken lauffähig, du musst nur den String bei DBI->connect(...) ändern. Das ist zB für mich sehr praktisch, weil ich auf PostgreSQL entwickle und meine Scripte auf MySQL in Betrieb gehen. Mit PHP ist das zB nicht möglich.

Literatur:

perldoc DBI
perldoc DBD::mysql # müssen beide installiert werden
Programmierung mit Perl DBI (O'Reilly Verlag)

use Tschoe qw(Matti);