λογισμικό

* Γνώση Υπολογιστών >> λογισμικό >> λογισμικού βάσεων δεδομένων

Ερώτημα ΣφάλμασύνταξηςΜηεπαρκείςπαράμετροι

Όταν προγραμματιστές να δημιουργήσουν εφαρμογές που χρησιμοποιούν βάσεις δεδομένων , αυτά περιλαμβάνουν γενικά ερωτήματα δεδομένων . Ένα ερώτημα είναι μια εντολή που εκτελείται στον προγραμματισμό ή scripting κώδικα , σχεδιασμένο για να ανακτήσει ένα καλά καθορισμένο σύνολο δεδομένων από μια βάση δεδομένων . Ερωτήματα μπορούν να εκτελεστούν άμεσα σε SQL (Structured Query Language ) για τα συστήματα , όπως η MySQL και Oracle , ή μπορεί να εκτελεστεί από μια άλλη γλώσσα προγραμματισμού, όπως PHP ή Java . Ερωτήματα καθορίσετε διάφορες λεπτομέρειες σχετικά με τα δεδομένα ένα σενάριο ζητά . Πίνακες
Η

Ερωτήματα δείχνουν συνήθως ένα ή περισσότερους πίνακες της βάσης δεδομένων . Ένα ερώτημα σε SQL θα χρησιμοποιούν συνήθως και την "επιλογή" λέξη-κλειδί και το όνομα τουλάχιστον ενός πίνακα αποθηκεύονται μέσα στη βάση δεδομένων . Το όνομα του πίνακα αντιπροσωπεύει τον πίνακα που περιέχει τα στοιχεία που απαιτούνται , έτσι ώστε αν το όνομα αυτό δεν περιλαμβάνεται σωστά , ένα ερώτημα θα αποτύχει . Το ακόλουθο ερώτημα SQL παράδειγμα επιχειρεί να ανακτήσει δεδομένα από έναν πίνακα που ονομάζεται " Χώρα " με μια στήλη με το όνομα " City" σε αυτό :

SELECT Πόλη από τη χώρα ?

Εξ ορισμού αυτό θα επιστρέψει όλες τις εγγραφές εντός της στήλης " City" που είναι αποθηκευμένα στον πίνακα , αλλά αν το όνομα του πίνακα είναι , για παράδειγμα , είναι γραμμένες σωστά , το ερώτημα θα επιστρέψει τίποτα .
εικόνων Στήλες
Η

Ερωτήματα καθορίσετε τα ονόματα των στηλών μέσα στους πίνακες . Αυτές οι στήλες περιέχουν τα απαιτούμενα στοιχεία . Αν τα ονόματα των στηλών που γράφονται λανθασμένα ένα ερώτημα , ως εκ τούτου , δεν θα είναι σε θέση να επιστρέψει τα απαιτούμενα στοιχεία . Ένα σύνηθες σφάλμα είναι συμπεριλαμβανομένων ένα όνομα στήλης που να είναι έγκυρο , αλλά ότι έχει ζητηθεί από λάθος πίνακα . Για παράδειγμα , δίνεται μια βάση δεδομένων με πίνακες που ονομάζεται "Πελάτης" και "Παραγγελία" με μια στήλη που ονομάζεται " custid " στον " πελάτη " τραπέζι και μια στήλη με το όνομα " ordID " στον πίνακα "Παραγγελία" , το ακόλουθο ερώτημα θα αποτύχει :

SELECT ordID εκ μέρους του Πελάτη ? .

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

Η Φιλτράρισμα

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

SELECT * από πελάτη WHERE type = «επιχείρηση» ?

Αυτό το ερώτημα θα επιστρέψει εγγραφές που χαρακτηρίζει όλα στήλες στο «Πελάτης» πίνακα, όπου η τιμή στη στήλη " Τύπος " ταιριάζει με την καθορισμένη τιμή της «επιχείρησης ». Εάν είτε η στήλη που έχει οριστεί στο " where" , ή η τιμή που δίνεται είναι εσφαλμένη , το ερώτημα μπορεί να επιστρέψει είτε δεν αποτελέσματα ή λανθασμένα αποτελέσματα .
Εικόνων Τύποι
Η

Χρήση εσφαλμένη τύποι μπορούν να προκαλέσουν ερωτήματα SQL για να αποτύχει . Αυτό είναι πιο συνηθισμένο όταν υπάρχουν ρήτρες , όπως το "όπου" κατασκεύασμα . Για παράδειγμα , εάν ο κωδικός είναι το φιλτράρισμα ένα αποτέλεσμα ερωτήματος σε μια στήλη η οποία αποθηκεύει ένα συγκεκριμένο είδος της αξίας , όπως αριθμητική , αλλά ένα ερώτημα ", όπου" ρήτρα καθορίζει μια τιμή ως τύπο συμβολοσειράς κειμένου , το ερώτημα μπορεί να αποτύχει . Είναι κοινό να λαμβάνει μηνύματα δείχνουν μια « ασυμφωνία τύπου " σε τέτοιες περιπτώσεις .
Εικόνων Αποσπάσματα
Η

Μονά και διπλά εισαγωγικά εμφανίζονται συχνά κατά τη σύνταξη του ερωτήματος. Για παράδειγμα , είναι σύνηθες να περιλαμβάνουν ερωτήματα SQL σε άλλα σενάρια προγραμματισμού σε γλώσσες όπως η PHP . Το ακόλουθο δείγμα PHP απόσπασμα δημιουργεί μια μεταβλητή στο μοντέλο ένα ερώτημα SQL με ρήτρα φιλτράρισμα μέσα σε αυτό :

$ query = "SELECT * από ανθρώπους, όπου Ε_ΟΝΟΜΑ = 'Smith' " ?

Το ερώτημα το ίδιο περιέχεται μέσα σε διπλά εισαγωγικά , ενώ η τιμή που έχει οριστεί για το " where" εμφανίζεται μέσα σε μονά εισαγωγικά . Αυτό το είδος της κατάστασης είναι αυτό στο οποίο είναι πολύ κοινό λάθος να συγχέουμε τα μονά και διπλά εισαγωγικά , ενδεχομένως εμποδίζοντας είτε το σενάριο ή το ερώτημα από την εκτέλεση .
Η
εικόνων

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

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