Farid Hajji: Perl - Einführung, Anwendungen, Referenz
2., aktualisierte und erweiterte Auflage
Addison-Wesley Longman, ISBN 3-8273-1535-2
db-dodemo.pl
#!/usr/local/bin/perl -w
# db-dodemo.pl -- Zeigt einige do()-SQL-Befehle an eine Datenbank.
use Getopt::Std; # -v auf der Kommandozeile triggert $opt_v
use vars qw($opt_v); # und schaltet dann DEBUG-Meldungen ein
getopts("v"); # (siehe unten).
use DBI;
# Einloggen:
$dbh = DBI->connect("DBI:mysql:mydbase", "manager", "mgrpass");
die "Error: $DBI::errstr\n" unless $dbh;
# Einige Kunden in die 'kunden'-Tabelle eintragen:
while (<DATA>) {
# SQL-Befehl vorbereiten:
chomp;
@custs = split(/;/);
$sql = "INSERT INTO kunden VALUES (" .
join(',', map { "'$_'" } @custs) .
")\n";
print $sql if $opt_v; # DEBUGGING
# SQL-Befehl zum Datenbankserver senden und ausfuehren lassen:
$dbh->do($sql);
# Rueckgabecode pruefen!
warn "Error: $DBI::errstr\n" if $DBI::err;
}
# Eine Tabelle anlegen:
$sql = <<EOSQL;
CREATE TABLE mytable (
dummy1 char(5) primary key,
dummy2 char(10),
dummy3 integer
)
EOSQL
$dbh->do($sql);
warn "Error: $DBI::errstr\n" if $DBI::err;
# Zeigen, dass es sie auch wirklich gibt:
system("mysqlshow --user=manager --password=mgrpass mydbase mytable");
# Und nun loeschen wir die Tabelle wieder:
$dbh->do("DROP TABLE mytable");
warn "Error: $DBI::errstr\n" if $DBI::err;
# Okay, das war's
$dbh->disconnect();
__DATA__
0;gandhi;mahatma;000.111.222;vor dem ganges 112;55555;
0;einstein;albert;111.232.332;relativer weg emc2;29979;
0;minski;marvin;989.127.661;cs blvd. 42;42424;
0;stein;samuel;321.543.876;kleiner bach 32;54321;
0;adams;michaela;000.123.231;musterstrasse 91;50000;
[Prev] [Up] [Relevant Chapter] [Next]
[Alte Quelle]
| Last modified: $Date: 2006/05/18 12:55:55 $ FH. Search :: Sitemap :: Disclaimer :: Copyright :: Privacy |
|