Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

MySQL Perl DBI Tutorial

Jeden z najmocnejších funkcií Perlu je jeho schopnosť spracovať , analyzovať , manipuláciu a formátovanie textu a dát , takže je ideálny jazyk pre vývoj databázových aplikácií . Interface ( DBI ) Modul Perl Database uľahčuje pripojiť a používať širokú škálu databázových systémov , vrátane MySQL . Okrem Perlu , modul Perl :: DBI a DBD :: mysql musí byť databázový ovládač nainštalovaný v systéme , kde sú skripty vyvinuté a popravený . Väčšina funkcií MySQL možno pristupovať pomocou ovládača MySQL pre Perl :: DBI . Pripojenie k MySQL serveru

Než budete môcť vykonávať dotazy a ďalšie vyhlásenie na databáze , váš skript potrebuje nadviazať spojenie . Import modulu DBI v skripte s " pomocou DBI " :

použitie DBI ;

DBI - > connect funkcie sa pripája k databáze a vráti databázy rukoväť . Nadviazať pripojenie k lokálnej databáze , poskytujúce názov vašej databázy do zdrojového parametra , a užívateľské meno a heslo pre užívateľa MySQL skript sa bude používať pre pripojenie :

my $ DBH = DBI - > , pripojiť ( " DBI : mysql : dbname " , " užívateľ " , " heslo " ) or die " pripojenie zlyhalo : $ DBI :: errstr " ;

pripojenie k vzdialenej databáze je podobná miestne pripojenie pomocou poskytuje adresu vzdialeného hostiteľa do zdrojového parametra . V nasledujúcom príklade atribút RaiseError je nastavený na hlásenie chýb cez die ( ) v mieste " , alebo zomrieť " ručnú kontrolu doložku v predchádzajúcom príklade chybu . Atribút PrintError je zakázané . PrintError automaticky hlási chyby cez varovať ( ) , ak je povolená

my $ DBH = DBI - > connect ( " DBI : mysql : dbname , host = db.server.edu . " , " Užívateľ " , " heslo " { PrintError = > 0 , RaiseError = > 1 } ) ; .

Pred ukončením skriptu , odpojte z databázy pomocou funkcie odpojenia

$ DBH - > disconnect ( ) ;
Základné Dotazy

najčastejšie realizácii v databáze je príkaz SELECT . Vytvoriť popisovač príkazu volaním pripraviť funkciu príkazu SELECT . Napríklad , bude SELECT dotazu tabuľku so zoznamom ľudí , ktorí na prvý názov poľa pre všetky položky , kde priezvisko je " Johnson " :

my $ sth = $ DBH - > prepare ( " SELECT FROM krstné meno ľudí WHERE priezvisko = ' Johnson ' " ) ;

spustite príkaz :

$ sth - > execute ( ) ;

Načítať jeden riadok dát v čase , hash a vytlačiť výsledky :

print " dotaz na posledný meno Johnson : \\ n" ; while ( my $ resultrow = $ sth - > fetchrow_hashref ( ) ) { my $ fn = $ resultrow - > { jmeno } ; print " $ fn \\ n" ; }

Existuje niekoľko funkcií pre načítanie výsledky dotazu , ako je fetchrow_array načítať ďalšiu riadok ako pole a fetchall_hashref načítať všetky výsledky naraz do hash .
Použitie zástupných symbolov

zástupných symbolov možno použiť v príkaze pripraviť funkciu . To je užitočné v interaktívnych skriptov , kde sú hodnoty dotaz filtračné poskytnutých užívateľom , a to najmä v prípade , slučka umožňuje užívateľovi , aby predložili niekoľko otázok pred ukončením .

Napríklad zástupný symbol ( otáznik ) poskytuje miesto , kde budú poskytnuté vstup užívateľa , keď je príkaz vykonaný :

my $ sth = $ DBH - > prepare ( " SELECT * FROM ľudia WHERE priezvisko = ? " ) or die " Chyba vyhlásenie : " . $ DBH - > errstr ;

while opakovane vyzve užívateľa na zadanie priezvisko :

tlače " Vyhľadať priezvisko " ; while ( $ priezvisko = < > ) { žuť $ priezvisko , moja @ výsledky ;

vyhlásenie pripravené skôr sa vykonáva , s $ Priezvisko poskytnuté ako parameter . Tento parameter bude vložený do výkazu dotazu na miesto otáznika zástupný symbol :

$ sth - > execute ( $ Priezvisko ) or die " Chyba vyhlásenie : " . $ Sth - > errstr ;

Výsledky , ak existujú , sú vytlačené :

if ( $ STH - > riadkov == 0 ) { print " Žiadne výsledky pre ` $ priezvisko . " \\ n \\ n" ; }

while ( @ výsledky = $ sth - > fetchrow_array ( ) ) { my $ jmeno = $ výsledky [ 1 ] ; my $ vek = $ výsledky [ 3 ] ; print " $ jmeno $ priezvisko ( $ veku ) \\ n" ; }

údajov rukoväť je upratať metódou ciele , a slučka pokračuje : klipart

$ sth - > povrchovú úpravu ; tlačiť " Vyhľadať priezvisko " ; }
Pridávanie , aktualizácia a mazanie záznamov

aktualizácie , vložky a odstráni je možné spustiť jednoducho pomocou funkcie robiť . Napríklad :

$ DBH - > to ( " INSERT INTO ľudí ( krstné meno , priezvisko , vek ) VALUES ( ' Bob ' , ' Johnson ' , 32 ) " ) ; $ DBH - > robiť ( " UPDATE ľud krstné meno = ' Robert ' , kde krstné meno = " undef , " Bob " ) ; $ DBH - > to ( " ? DELETE FROM ľudia WHERE priezvisko = ' Johnson ' " ) ;
Stavebné a Správa databázy

funkcie správy databázy je vykonaný pomocou funkcie func pomocou databázy spracovávať získané zo spojenia :

$ DBH - > func ( " createdb " , $ dbname , ' admin ' ) ; $ DBH - > func ( " dropdb " , $ dbname , ' admin ' ) ;

servera môže byť tiež načítané a vypnúť . Táto funkcia je užitočná pre zjednodušenie a automatizáciu úloh správy databázových systémov . Dostatočné oprávnenia sú potrebné pre tieto akcie .

Databáza tabuľka vytvárať a meniť pokyny môžu vykonať pomocou funkcie robiť . Napríklad tento príkaz vytvorí tabuľku ľudí :

$ DBH - > to ( " CREATE TABLE ľudí ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY , jmeno VARCHAR ( 50 ) , priezvisko VARCHAR ( 50 ) , vek INT ) " ) ;

Vytváranie a aktualizácia existujúcej databázy je užitočná pre automatizáciu inštalácie distribuovaných aplikácií , ako je napríklad diskusných fór , fotogalérií a blogy
.

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené