| Home - Datenbanken und Perl - Programm Code | www.sqldocu.com | ||||||||||||||||||||||||||||||||||||||||||||||
| zurück | vor | ||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||
Bevor SQL Befehle in Perl verwendet werden können, muss eine Verbindung zum
RDBMS
(DatenbankServer)
hergestellt werden (siehe
Programm Code).
In Perl setzt sich jede SQL Anweisung aus 3 Teilen zusammen:
Jede Zeile wird anhand eines vollständigen Beispiels im Kapitel
Programm Code
ausführlich beschrieben. Achtung: Wenn dieses Skript über einen Webbrowser (Internet Explorer,Netscape,Mozilla..) aufgerufen wird, erscheint die Fehlermeldung: Internal Server Error Grund: SQL Anweisung steht hier symbolisch für eine unten beschriebene Anweisung. Zudem erwartert der Server vom Skript einen Output(Daten). Verwendet man eine unten beschriebene SQL Anweisung und fügt man folgenden Zeilen an den oben angeführten Code hinzu, wird die Fehlermeldung verhindert: print "Content-type: text/html\n\n"; # HTML header wird erzeugt print "<html><head>\n"; print "<title>SQLdocu</title>\n"; print "</head><body>\n"; print "Beispiel für SQL Anweisung mit Perl\n"; print "</body></html>\n";
#!d:/perl/bin/perl.exe -w use CGI::Carp qw(fatalsToBrowser); #sendet Fehlermeldungen an Browser use DBI; $dsn = "DBI:mysql:database=test;host=localhost;port=3306"; $dbh = DBI->connect( $dsn,'root','geheim' ); $sth = $dbh->prepare(q{CREATE DATABASE meineDbNeu}); $sth->execute; $sth->finish; print "Content-type: text/html\n\n"; # HTML header wird erzeugt print "<html><head>\n"; print "<title>SQLdocu</title>\n"; print "</head><body>\n"; print "SQL Anweisung: CREATE\n"; print "</body></html>\n"; $dbh->disconnect();
Anstelle des SQL Befehls: CREATE DATABASE kann jeder SQL Befehl stehen,
der ein
Objekt
erzeugt. Z.B: CREATE TABLE meineTabelle (Spalte1 INTEGER,Spalte2 VARCHAR(10))
Syntax ohne Platzhalter
#!d:/perl/bin/perl.exe -w use CGI::Carp qw(fatalsToBrowser); #sendet Fehlermeldungen an Browser use DBI; $dsn = "DBI:mysql:database=test;host=localhost;port=3306"; $dbh = DBI->connect( $dsn,'root','geheim' ); $sth = $dbh->prepare(q{DELETE FROM meineTabelle}); $sth->execute; $sth->finish; print "Content-type: text/html\n\n"; # HTML header wird erzeugt print "<html><head>\n"; print "<title>SQLdocu</title>\n"; print "</head><body>\n"; print "SQL Anweisung: DELETE\n"; print "</body></html>\n"; $dbh->disconnect(); Syntax mit Platzhalter
#!d:/perl/bin/perl.exe -w use CGI::Carp qw(fatalsToBrowser); #sendet Fehlermeldungen an Browser use DBI; $variable1='beliebigerWert1',$variable2='beliebigerWert2'; $dsn = "DBI:mysql:database=test;host=localhost;port=3306"; $dbh = DBI->connect( $dsn,'root','geheim' );
$sth->finish; print "Content-type: text/html\n\n"; # HTML header wird erzeugt print "<html><head>\n"; print "<title>SQLdocu</title>\n"; print "</head><body>\n"; print "SQL Anweisung: DELETE\n"; print "</body></html>\n"; $dbh->disconnect();
#!d:/perl/bin/perl.exe -w use CGI::Carp qw(fatalsToBrowser); #sendet Fehlermeldungen an Browser use DBI; $dsn = "DBI:mysql:database=test;host=localhost;port=3306"; $dbh = DBI->connect( $dsn,'root','geheim' ); $sth = $dbh->prepare(q{DROP DATABASE meineDbNeu}); $sth->execute; $sth->finish; print "Content-type: text/html\n\n"; # HTML header wird erzeugt print "<html><head>\n"; print "<title>SQLdocu</title>\n"; print "</head><body>\n"; print "SQL Anweisung: DROP\n"; print "</body></html>\n"; $dbh->disconnect();
Anstelle des SQL Befehls: DROP DATABASE kann jeder SQL Befehl stehen,
der ein
Objekt
löscht. Z.B: DROP TABLE meineTabelle
Syntax ohne Platzhalter
#!d:/perl/bin/perl.exe -w use CGI::Carp qw(fatalsToBrowser); #sendet Fehlermeldungen an Browser use DBI; $dsn = "DBI:mysql:database=test;host=localhost;port=3306"; $dbh = DBI->connect( $dsn,'root','geheim' );
$sth->finish; print "Content-type: text/html\n\n"; # HTML header wird erzeugt print "<html><head>\n"; print "<title>SQLdocu</title>\n"; print "</head><body>\n"; print "SQL Anweisung: CREATE\n"; print "</body></html>\n"; $dbh->disconnect(); Syntax mit Platzhalter
#!d:/perl/bin/perl.exe -w use CGI::Carp qw(fatalsToBrowser); #sendet Fehlermeldungen an Browser use DBI; $variable1='beliebigerWert1',$variable2='beliebigerWert2'; $dsn = "DBI:mysql:database=test;host=localhost;port=3306"; $dbh = DBI->connect( $dsn,'root','geheim' );
$sth->finish; print "Content-type: text/html\n\n"; # HTML header wird erzeugt print "<html><head>\n"; print "<title>SQLdocu</title>\n"; print "</head><body>\n"; print "SQL Anweisung: INSERT\n"; print "</body></html>\n"; $dbh->disconnect();
Syntax ohne Platzhalter
#!d:/perl/bin/perl.exe -w use CGI::Carp qw(fatalsToBrowser); #sendet Fehlermeldungen an Browser use DBI; $dsn = "DBI:mysql:database=test;host=localhost;port=3306"; $dbh = DBI->connect( $dsn,'root','geheim' );
while (($vorname,$nachname) =$sth->fetchrow_array) { push(@vornameArray,$vorname); push(@nachnameArray,$nachname); } $sth->finish; print "Content-type: text/html\n\n"; # HTML header wird erzeugt print "<html><head>\n"; print "<title>SQLdocu</title>\n"; print "</head><body>\n"; print "SQL Anweisung: CREATE\n"; print "</body></html>\n"; $dbh->disconnect(); Syntax mit Platzhalter
#!d:/perl/bin/perl.exe -w use CGI::Carp qw(fatalsToBrowser); #sendet Fehlermeldungen an Browser use DBI; $variable1='Conny'; $dsn = "DBI:mysql:database=test;host=localhost;port=3306"; $dbh = DBI->connect( $dsn,'root','geheim' );
while (($vorname,$nachname) =$sth->fetchrow_array) { push(@vornameArray,$vorname); push(@nachnameArray,$nachname); } $sth->finish; print "Content-type: text/html\n\n"; # HTML header wird erzeugt print "<html><head>\n"; print "<title>SQLdocu</title>\n"; print "</head><body>\n"; print "SQL Anweisung: INSERT\n"; print "</body></html>\n"; $dbh->disconnect();
Syntax ohne Platzhalter
#!d:/perl/bin/perl.exe -w use CGI::Carp qw(fatalsToBrowser); #sendet Fehlermeldungen an Browser use DBI; $dsn = "DBI:mysql:database=test;host=localhost;port=3306"; $dbh = DBI->connect( $dsn,'root','geheim' );
$sth->finish; print "Content-type: text/html\n\n"; # HTML header wird erzeugt print "<html><head>\n"; print "<title>SQLdocu</title>\n"; print "</head><body>\n"; print "SQL Anweisung: CREATE\n"; print "</body></html>\n"; $dbh->disconnect(); Syntax mit Platzhalter
#!d:/perl/bin/perl.exe -w use CGI::Carp qw(fatalsToBrowser); #sendet Fehlermeldungen an Browser use DBI; $vorname='Conny',$nachname='Schmith'; $dsn = "DBI:mysql:database=test;host=localhost;port=3306"; $dbh = DBI->connect( $dsn,'root','geheim' );
$sth->finish; print "Content-type: text/html\n\n"; # HTML header wird erzeugt print "<html><head>\n"; print "<title>SQLdocu</title>\n"; print "</head><body>\n"; print "SQL Anweisung: INSERT\n"; print "</body></html>\n"; $dbh->disconnect();
|
|||||||||||||||||||||||||||||||||||||||||||||||