Verbinden mit dem MySQL -Datenbank von einem Perl-Skript erfordert das Perl- DBI und DBD : MySQL -Module . Diese Module können von CPAN ( Comprehensive Perl Archive Network) erhalten werden. Wenn Sie ActiveState ActivePerl sind , können Sie die Module mit dem Perl Package Manager herunterladen. Das DBI -Modul ist für den allgemeinen Zugriff auf die Datenbank verwendet, während der DBD : MySQL -Modul wird verwendet, um die MySQL -Datenbank zuzugreifen. Anschließen und Abfragen
die DBI verwenden : MySQL -Modul , um die MySQL-Datenbank zuzugreifen, müssen Sie die Zeile " use DBI ; " hinzufügen, um die Perl -Skript, das die DBI -Bibliotheken verwenden erzählt . Diese Zeile muss platziert vor jeder Zugriff auf die Datenbank wird versucht werden. Sie verbinden sich mit der Datenbank mit der " DBI- > connect ( " dbi : mysql : database ' , ' username ' , ' password ' ) "-Funktion . SQL-Anweisungen können dann für die Ausführung mit dem " prepare () -Funktion" und ausgeführt mit dem "Ausführen" -Funktion vorbereitet werden. Die Ergebnisse werden dann in einem Array, das gedruckt werden kann oder weiter verarbeitet zugeführt
Eine Probe Skript würde wie folgt aussehen: .
#! /usr /bin /perl- w # Rufen Sie die DBI libraryuse DBI ; # Erstellen von Variablen für die Datenbank Informationen $ database = "Beispiel" , $ username = "mysql "; $ password = "pass" ; # Verbindung zur Datenbank her $ verbinden = dBI- > connect ( " dbi : mysql : $ database ', $ username' , $ password ' ) or die " Connection Error : $ dBI :: errstr \\ n "; # Geben Sie die Abfrage $ statement =" select * from Adresse "; # führen Sie die Abfrage ausführen $ = $ connect - > prepare ( $ statement ); $ ausführen -> executeor sterben" Fehler: $ DBI :: errstr \\ n "; # Gibt die resultswhile ( @ row = $ ausführen -> fetchrow_array ) {print " @ row \\ n"; } $ connect -> disconnect ( );
Die Zeile " $ connect = dBI- > connect ( " dbi : mysql : $ database ' , $ username ', $ password' ) or die "Connection Error : $ DBI :: errstr \\ n"; " wird verwendet, um die Verbindung zur Datenbank , aber es bietet auch Fehlerprüfung so dass das Skript nicht weiter ausgeführt werden, wenn keine Verbindung hergestellt wird. Fehlerprüfung ist auch in der Ausführung der Abfrage enthalten.
" Fetchrow_array " -Funktion gibt jede Zeile als Array von Werten. Die Werte können separat mit den Variablen $ row [1], $ row [2 ], $ row [ 3] , etc. In diesem Beispiel würde die gesamte Reihe der Fernseher.Die letzten Zeile des Skripts entfernt gedruckt zugänglich . die Datenbank-Verbindung
Wenn Sie eine Tabelle erstellen, oder Einfügen von Daten in eine Tabelle möchten , verwenden Sie den "do ()-Funktion , um die Tabelle die Syntax wäre erstellen : . $ connect -> tun ( " Create Table Text (id INT, Vorname VARCHAR ( 20) )"); .
um Daten in die Tabelle einfügen , müssen Sie die quote () -Funktion hinzuzufügen, um die String-Werte zitieren $ connect - > do ( " in den Text einfügen Werte (1," $ connect - > quote ( " James " ) ) " . . );
Systemverwaltung
das DBI-Modul ermöglicht es Ihnen, Systemadministration Funktionen wie das Erstellen, Löschen und Herunterfahren der Datenbank
um eine neue Datenbank, die Sie die folgende Zeile ausgeben würde : . $ newdb = $ connect -> func ( " createdb " , $ database , 'admin ');
Um eine Datenbank Sie die Zeile ausgeben würde löschen: delete = $ $ connect -> func ( " dropdb " , $ database , 'admin ');
Herunterfahren der Datenbank Sie die Zeile ausgeben würde : $ delete = $ connect -> func ( "shutdown " , $ database , 'admin ');