Koble til MySQL database fra en Perl-skript krever Perl DBI og DBD : MySQL moduler. Disse modulene kan fås fra CPAN ( Comprehensive Perl Archive Network ) . Hvis du bruker ActiveState er ActivePerl , kan du laste ned moduler med Perl Package Manager. Den DBI modul brukes for generell tilgang til databasen , mens DBD : MySQL modulen brukes til å få tilgang til MySQL database. Koble til og Spør
å bruke DBI : MySQL -modulen for å få tilgang til MySQL database, må du legge linjen " bruk DBI ; " til manuset som forteller Perl å bruke DBI bibliotekene . Denne linje må plasseres før noen tilgang til databasen er forsøkt. Du kobler til databasen med " DBI - > connect (' dbi : mysql : database ' , 'username ', ' password' ) "-funksjon. SQL-setninger kan da være forberedt på kjøringen med " forberede ( )-funksjonen " og gjennomført med "execute "-funksjonen . Resultatene blir så matet inn en matrise som kan skrives ut eller viderebehandles
prøveskript ville se slik ut: .
#! /usr /bin /perl -w # Ring DBI libraryuse DBI ; # Opprette variabler for databasen informasjon $ database = "eksempel "; $ username = " mysql " , $ passord = "pass "; # Koble til databasen $ koble = DBI - > connect (' dbi : mysql : $ database ' , $ username ' , $ passord ') or die " Connection Error : $ DBI :: errstr \\ n"; # Gi spørringen $ statement = " select * from adresse "; # utføre spørringen $ gjennomføre = $ connect - > forberede ( $ setning) , $ kjøre - > executeor die " Feil: $ DBI :: errstr \\ n "; # Returner resultswhile ( @ p = $ utføre - > fetchrow_array ) { print " @ rad \\ n "; } $ connect - > disconnect ();
linjen " $ connect = DBI - > connect (' dbi : mysql : $ database' , $ username ' , $ passord ') or die " Connection Error : $ DBI :: errstr \\ n"; "brukes for å koble til databasen , men det gir også feilsjekking slik at skriptet ikke fortsette å kjøre hvis det ikke tilkoblingen er gjort . Feilkontroll er også inkludert i gjennomføringen av søket .
" Fetchrow_array " funksjonen returnerer hver rad som en matrise av verdier. Verdiene kan åpnes separat med variablene $ rad [ 1 ] , $ row [ 2 ] , $ row [ 3 ] , osv. I dette eksempelet ville hele raden skal skrives ut til screen.The siste linje av skriptet fjerner . databaseforbindelsen
p Hvis du vil opprette en tabell , eller sette inn data i en tabell , ville du bruke " do ( )-funksjonen vil opprette tabellen syntaksen vil være: . $ connect - > gjøre ( "Create Table tekst ( id INT , fornavn VARCHAR ( 20 ) ) "); .
å sette inn data i tabellen må du legge til quote ( )-funksjonen , for å sitere strengverdiene $ connect - > gjøre ( " Sett inn tekst verdier ( 1 ," $ connect - > sitat ( " James" ) ) " . . ) ;
System Administration
den DBI modulen kan du systemadministrasjon funksjoner som å opprette, slette og stenge ned databasen
å opprette en ny database du vil utstede følgende linje: . $ newdb = $ connect - > funk ( " createdb ", $ database , ' admin ');
å slette en database du vil utstede linjen : $ delete = $ connect - > funk ( " dropdb ", $ database , ' admin ');
til nedleggelse databasen du vil utstede linjen : $ delete = $ connect - > funk ( "shutdown ", $ database , ' admin ');