Tilslutning til MySQL-database fra en Perl script kræver Perl DBI og DBD : MySQL moduler. Disse moduler kan fås fra CPAN ( Comprehensive Perl Archive Network) . Hvis du bruger ActiveState s ActivePerl , kan du hente de moduler med Perl Package Manager. DBI modulet anvendes til generel database adgang , mens den DBD : MySQL modulet anvendes til at få adgang til MySQL-database . Tilslutning og Forespørger
For at bruge DBI : MySQL modul til at få adgang til MySQL-database, skal du tilføje linjen "brug DBI ," til scriptet som fortæller Perl at bruge DBI biblioteker. Denne linje skal placeres før nogen adgang til databasen er forsøgt. Du opretter forbindelse til databasen med " DBI -> connect ( ' DBI : mysql : database ', ' brugernavn ', ' password' ) "-funktion. SQL-sætninger kan derefter være forberedt til udførelse med " forberede () funktion" og udføres med " execute" funktion. Resultaterne er derefter føres tilbage i et array , der kan udskrives eller bearbejdes yderligere
En prøve script vil se sådan ud : .
#! /usr /bin /perl -w # Ring til DBI libraryuse DBI , # Oprette variabler til databasen oplysninger $ database = " eksempel " $ username = " mysql " $ password = "pass " # Forbind til databasen $ forbinde = DBI -> connect ( ' DBI : mysql : $ database " , $ brugernavn ' , $ password ' ) or die " Connection Error : $ DBI :: errstr \\ n "; # Giv forespørgslen $ sætning = " select * from adresse " # Udfør forespørgslen $ udføre = $ connect -> forberede ( $ statement) , $ eksekvere -> executeor die " Fejl: $ DBI :: errstr \\ n "; # Retur resultswhile ( @ p = $ udføre -> fetchrow_array ) { print " @ rækken \\ n"; } $ connect -> afbryder ();
linje "$ connect = DBI -> connect ( ' DBI : mysql : $ database " , $ brugernavn ' , $ password' ) or die " Connection Error : $ DBI :: errstr \\ n"; "bruges til at oprette forbindelse til databasen , men det giver også fejlkontrol , så scriptet ikke fortsætte med at køre , hvis der ikke tilslutning. Fejlkontrol er også inkluderet i udførelsen af forespørgslen.
" Fetchrow_array " funktion returnerer hver række som en vifte af værdier. Værdierne kan tilgås separat med de variabler $ row [1], $ row [2] , $ row [3] , etc. I dette eksempel , ville hele rækken blive udskrevet til screen.The sidste linje af scriptet fjerner . forbindelsen til databasen
p Hvis du ønsker at oprette en tabel eller indsætte data i en tabel , skal du bruge "gør () funktionen til at oprette tabellen syntaksen ville være: . $ connect -> do ( "Opret tabel tekst ( id INT , fornavn VARCHAR (20) )"); .
For at indsætte data i tabellen skal du tilføje det citat () funktion , med henblik på at citere strengværdier $ connect - > gøre ( "Indsæt i tekstværdier (1, " $ connect -> quote ( " James" ) ) " . . )
System Administration
DBI modul tillader dig at systemadministration funktioner såsom at oprette, slette og lukke databasen
For at oprette en ny database , du ville udsende følgende linje: . $ newdb = $ connect -> funk ( " createdb " $ database , 'admin ');
For at slette en database, du ville udstede linjen: $ delete = $ connect -> funk ( " dropdb " , $ database , 'admin '); < br >
shutdown den database, du vil udstede linjen: $ delete = $ connect -> funk ( " shutdown " , $ database , 'admin ');
< br >