Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> PHP /MySQL Προγραμματισμός

MySQL Perl DBI Tutorial

Ένα από τα πιο ισχυρά χαρακτηριστικά της Perl είναι η ικανότητά του να επεξεργάζεται, να αναλύσει , να χειριστούν και μορφοποίηση κειμένου και δεδομένων, καθιστώντας το μια ιδανική γλώσσα για την ανάπτυξη εφαρμογών βάσεων δεδομένων . Η μονάδα διασύνδεσης Perl Database ( DBI ) καθιστά εύκολο να συνδέσετε και να χρησιμοποιήσετε ένα ευρύ φάσμα των συστημάτων βάσεων δεδομένων , συμπεριλαμβανομένων MySQL . Εκτός από την Perl , την ενότητα Perl :: DBI και DBD :: mysql οδήγησης της βάσης δεδομένων θα πρέπει να εγκατασταθεί στο σύστημα , όπου τα σενάρια αναπτύσσονται και εκτελούνται . Οι περισσότερες από τις λειτουργίες της MySQL μπορεί να προσεγγιστεί μέσω του προγράμματος οδήγησης MySQL για Perl :: DBI . Σύνδεση με τον διακομιστή MySQL
Η

να μπορέσετε να εκτελέσει τα ερωτήματα και άλλες δηλώσεις σε μια βάση δεδομένων , το script σας θα πρέπει να δημιουργήσει μια σύνδεση . Εισαγωγή της μονάδας DBI στο κείμενό σας με "χρήση DBI " :

χρησιμοποιούν DBI ?

Το DBI - > συνδέσετε λειτουργία συνδέεται με μια βάση δεδομένων και επιστρέφει μια λαβή της βάσης δεδομένων . Δημιουργήστε μια σύνδεση σε μια τοπική βάση δεδομένων , παρέχοντας το όνομα της βάσης δεδομένων σας στην παράμετρο πηγής , και το όνομα χρήστη και τον κωδικό πρόσβασης για τον χρήστη MySQL script σας θα χρησιμοποιήσετε για τη σύνδεση :

μου $ dbh = DBI - > ? συνδέσετε ( DBI : mysql : dbname » , « χρήστης » , « κωδικό πρόσβασης » ) ή να πεθάνουν " Η σύνδεση απέτυχε : $ DBI :: errstr " ?

σύνδεση με μια απομακρυσμένη βάση δεδομένων είναι παρόμοια με μια τοπική σύνδεση με παρέχοντας την απομακρυσμένη διεύθυνση υποδοχής στην παράμετρο πηγή . Στο παρακάτω παράδειγμα , το χαρακτηριστικό RaiseError έχει οριστεί να αναφέρουν σφάλματα μέσω της μήτρας ( ) στη θέση του " ή να πεθάνουν " manual έλεγχο ρήτρα στο προηγούμενο παράδειγμα λάθους . Το χαρακτηριστικό PrintError είναι απενεργοποιημένη . PrintError αναφέρει αυτόματα τα σφάλματα μέσω προειδοποιούν ( του) όταν ενεργοποιείται

$ μου dbh = DBI - > connect ( ' DBI : mysql : dbname ? Host = db.server.edu » . , « Χρήστης » , « κωδικό πρόσβασης » , { PrintError = > 0 , RaiseError = > 1 } ) ? .

Πριν την έξοδο από το σενάριο , αποσυνδέστε από τη βάση δεδομένων χρησιμοποιώντας τη λειτουργία αποσύνδεσης

$ dbh - > αποσύνδεση ( ) ?
εικόνων Βασικά ερωτήματα
Η

η πιο κοινή δήλωση που εκτελούνται σε μια βάση δεδομένων είναι η SELECT. Δημιουργήστε μια λαβή δήλωση καλώντας τη λειτουργία προετοιμασία με την SELECT. Για παράδειγμα , αυτό το SELECT θα ζητήσει μια λίστα τραπέζι των ανθρώπων για το πρώτο πεδίο όνομα για όλες τις συμμετοχές , όπου το τελευταίο όνομα είναι "Johnson " :

μου $ sth = $ dbh - > προετοιμασία ( "SELECT Όνομα από άνθρωποι απ 'όπου lastname = " Johnson " ) ?

εκτελέστε την ακόλουθη δήλωση:

$ sth - > execute ( ) ?

Ανάκτηση μία σειρά δεδομένων σε μια στιγμή όπως ένα hash και να εκτυπώσετε τα αποτελέσματα :

print " Έρευνα για το επώνυμο Johnson : \\ n" ? ενώ ( $ μου resultrow = $ sth - > fetchrow_hashref ( ) ) { $ μου fn = $ resultrow - > { Όνομα } ? print " $ fn \\ n" ? }

Υπάρχουν πολλές λειτουργίες για την ανάκτηση αποτελέσματα του ερωτήματος , όπως fetchrow_array να φέρω την επόμενη σειρά , όπως και μια σειρά fetchall_hashref να φέρω όλα τα αποτελέσματα σε μία φορά σε ένα hash .

Η χρήση Placeholders
Η

Placeholders μπορεί να χρησιμοποιηθεί στη δήλωση προετοιμάζει λειτουργία . Αυτό είναι χρήσιμο σε διαδραστικά σενάρια , όπου οι τιμές του φίλτρου ερώτημα που προβλέπεται από το χρήστη , ιδιαίτερα αν ένας βρόχος επιτρέπει στο χρήστη να υποβάλει πολλά ερωτήματα πριν από την έξοδο .

Για παράδειγμα , το σύμβολο κράτησης θέσης ( το ερωτηματικό ), προβλέπει το σημείο όπου εισάγει ο χρήστης θα πρέπει να παρέχονται όταν εκτελείται η δήλωση :

μου $ sth = $ dbh - > προετοιμασία ( «SELECT * άνθρωποι απ 'όπου lastname =? " ) ή να πεθάνουν " λάθος δήλωση : " . $ dbh - > errstr ?

A while loop ζητά επανειλημμένα από το χρήστη για ένα επώνυμο :

print " Αναζήτηση επώνυμο : " ? , ενώ ( $ lastname = <> ) { chomp $ επώνυμο ? @ αποτελέσματα μου?

η δήλωση που παρασκευάζεται νωρίτερα εκτελείται , με $ επώνυμο παρέχεται ως παράμετρος . Η παράμετρος αυτή θα καταχωρείται στην κατάσταση ερώτημα στη θέση του συμβόλου κράτησης θέσης ερωτηματικό :

$ sth - > εκτέλεση ( $ επώνυμο ) ή να πεθάνουν " λάθος δήλωση : " . $ sth - > errstr ?

Τα αποτελέσματα , αν υπάρχουν, εκτυπώνονται :

if ($ sth - > σειρές == 0 ) {print " Δεν ταιριάζει για ` $ επώνυμο ". \\ n \\ n" ? }

ενώ ( @ αποτελέσματα = $ sth - > fetchrow_array ( ) ) { $ μου firstname = $ αποτελέσματα [ 1 ] ? $ ηλικία μου = $ αποτελέσματα [ 3 ] ? print " $ $ firstname επώνυμο ( $ age ) \\ n" ? }

η λαβή δήλωση διαμορφωμένο με τη μέθοδο φινίρισμα , και ο βρόχος συνεχίζει :

$ sth - > φινίρισμα? εκτύπωση "Αναζήτηση επώνυμο : " ? }
εικόνων προσθήκη , ενημέρωση και διαγραφή Records
Η

ενημερώσεις , ένθετα και διαγραφές μπορεί να εκτελεστεί χρησιμοποιώντας απλά τη λειτουργία κάνει . Για παράδειγμα :

$ dbh - > do ( " INSERT INTO άτομα ( Όνομα, επώνυμο , ηλικία ) ΑΞΙΕΣ ( « Bob » , « Johnson ' , 32) ")? $ Dbh - > do ( " UPDATE άνθρωποι που firstname = ' Robert ' όπου firstname = " , αδιευκρ , " βαρίδι " ) ? $ dbh - > do ( " ; DELETE άνθρωποι απ 'όπου lastname = " Johnson " ) ?
εικόνων η οικοδόμηση και η διαχείριση μιας βάσης δεδομένων
Η

λειτουργίες διαχείρισης βάσης δεδομένων εκτελούνται με τη λειτουργία λειτουργία με τη χρήση της βάσης δεδομένων λαβή που λαμβάνεται από τη σύνδεση :

$ dbh - > λειτουργία ( " createdb " , $ dbname , «admin» ) ? $ dbh - > λειτουργία ( " dropdb " , $ dbname , «admin» ) ?

Ο διακομιστής μπορεί επίσης να ξαναφορτωθεί και να κλείσουν . Αυτή η λειτουργία είναι χρήσιμη για την απλοποίηση και την αυτοματοποίηση διαχείρισης συστημάτων βάσεων δεδομένων καθήκοντα . Οι επαρκή δικαιώματα που απαιτούνται για αυτές τις ενέργειες .

Πίνακα βάσης δεδομένων δημιουργήσει και να τροποποιήσει τις δηλώσεις μπορούν να εκτελεστούν με τη λειτουργία do. Για παράδειγμα , η δήλωση αυτή δημιουργεί τον πίνακα ανθρώπων :

$ dbh - > do ( " CREATE TABLE άνθρωποι ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY , Όνομα VARCHAR ( 50 ) , επώνυμο VARCHAR ( 50 ) , την ηλικία INT ) ")?

Δημιουργία και ενημέρωση των υφιστάμενων βάσεων δεδομένων είναι χρήσιμο για την αυτοματοποίηση της εγκατάστασης των κατανεμημένων εφαρμογών , όπως πίνακες συζήτησης , φωτογραφικό υλικό και τα blogs
Η
εικόνων .

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα