να μπορέσετε να εκτελέσει τα ερωτήματα και άλλες δηλώσεις σε μια βάση δεδομένων , το 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
Η
εικόνων .
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα