Ansluta till MySQL-databas från ett Perl-skript kräver Perl DBI och DBD : MySQL -moduler . Dessa moduler kan erhållas från CPAN ( Comprehensive Perl Archive Network ) . Om du använder ActiveState s ActivePerl , kan du ladda modulerna med Perl Package Manager . DBI -modulen används för allmän databas åtkomst , medan DBD : är MySQL -modul används för åtkomst till MySQL-databas . Anslutning och Avfrågningsprincip
att använda DBI : MySQL -modul för att få tillgång till MySQL-databas , måste du lägga till raden " användning DBI , " till manus som berättar Perl använda DBI biblioteken . Denna linje måste läggas innan någon tillgång till databasen görs. Du ansluter till databasen med " DBI - > connect ( " DBI : mysql : databasen ' , ' username ' , ' lösenord ' ) " -funktion . SQL-satser kan då vara beredd på utförande med " förbereda ( ) -funktion " och utförs med " kör" -funktion . Resultaten matas sedan tillbaka in i en array som kan skrivas ut eller bearbetas vidare Ett prov manus skulle se ut
: .
# ! /usr /bin /perl - w Ring # DBI libraryuse DBI , # Skapa variabler för databasen informationen $ databas = " exempel " , $ username = " mysql " , $ password = " pass " , # Anslut till databasen $ ansluta = DBI - > connect ( " DBI : mysql : $ databasen ' , $ username ' , $ password " ) or die " Connection Error : $ DBI :: errstr \\ n "; # Ge frågan $ statement = " select * from adress " ; # exekvera frågan $ execute = $ connect - > förbereda ( $ uttalande ) , $ exekvera - > executeor die " Fel : $ DBI :: errstr \\ n "; # tillbaka resultswhile ( @ v = $ exekvera - > fetchrow_array ) { print " @ raden \\ n " ;} $ connect - > disconnect ( ) ;
raden " $ connect = DBI - > connect ( " DBI : mysql : $ databasen ' , $ username ' , $ password " ) or die " Connection Error : $ DBI :: errstr \\ n " , " används för att ansluta till databasen , men det ger också felkontroll så att skriptet inte fortsätter att köra om någon anslutning görs . Felkontroll ingår också i utförandet av frågan .
" Fetchrow_array " Funktionen returnerar varje rad som en matris med värden . Värdena kan nås separat med variablerna $ rad [ 1 ] , $ rad [ 2 ] , $ rad [ 3 ] , etc. I detta exempel skulle hela raden skrivas till screen.The sista raden i skriptet bort . databasanslutningen
p Om du vill skapa en tabell , eller infoga data i en tabell , använder du " gör ( ) funktionen för att skapa tabellen syntaxen skulle vara : . $ connect - > göra ( " Skapa tabell text ( id INT , förnamn VARCHAR ( 20 ) ) " ) ; .
vill infoga data i tabellen måste du lägga till citat ( ) funktionen , för att citera strängvärdena $ connect - > göra ( " Infoga i textvärden ( 1 , " $ connect - > citat ( " James " ) ) " . . ) ;
System Administration
DBI -modulen låter dig funktioner för systemadministration som att skapa , ta bort och stänga av databasen
vill skapa en ny databas du vill utfärda följande rad : . $ newdb = $ connect - > func ( " createdb " , $ databas , ' admin ');
att radera en databas som du skulle utfärda raden : $ delete = $ connect - > func ( " dropdb " , $ databas , ' admin ' ) ;
att stänga den databas du vill utfärda raden : $ delete = $ connect - > func ( " shutdown " , $ databas , ' admin ');