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

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

Πώς χρησιμοποιείτε μεταβλητές σε ένα ερώτημα MySQL;

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

1. Δηλώνοντας μεταβλητές:

- Μεταβλητές που καθορίζονται από το χρήστη: Χρησιμοποιήστε το σύμβολο `@` που ακολουθείται από το όνομα μεταβλητής. Αυτές οι μεταβλητές είναι ειδικές για τη συνεδρία.

`` sql

Ορίστε @my_variable ='κάποια τιμή';

`` `

- Τοπικές μεταβλητές: Δηλώνεται μέσα σε αποθηκευμένες διαδικασίες ή λειτουργίες χρησιμοποιώντας τη λέξη -κλειδί `` Δηλώστε '. Αυτά έχουν περιορισμένο πεδίο εφαρμογής.

`` sql

Δημιουργία διαδικασίας my_procedure ()

ΑΡΧΙΖΩ

Δηλώστε το TOTAL_ORDERS int;

- ... υπόλοιπο της διαδικασίας σας

ΤΕΛΟΣ;

`` `

2. Ανάθεση τιμών σε μεταβλητές:

- Χρήση `set`:

`` sql

Set @user_id =123;

`` `

- από ένα ερώτημα επιλογής:

`` sql

Επιλέξτε Count (*) σε @total_products από προϊόντα.

`` `

- Μέσα σε μια αποθηκευμένη διαδικασία ή λειτουργία:

`` sql

Δηλώστε το product_name varchar (255);

Επιλέξτε Όνομα σε product_name από προϊόντα όπου id =1;

`` `

3. Χρήση μεταβλητών σε ερωτήματα:

- όπου οι ρήτρες:

`` sql

Επιλέξτε * από χρήστες όπου id =@user_id;

`` `

- σε επιλογές λίστας:

`` sql

Επιλέξτε όνομα, @DISCOUNT_PERCENTAGE * Τιμή ως μειωμένο_price από προϊόντα.

`` `

- Στο ένθετο, ενημέρωση και διαγραφή δηλώσεων:

`` sql

Ενημέρωση προϊόντων SET PRICE =@NEW_PRICE όπου id =@product_id;

`` `

Παράδειγμα:

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

`` sql

- Ορίστε το αναγνωριστικό χρήστη

Set @user_id =1;

- Υπολογίστε τη συνολική τιμή παραγγελίας για τον χρήστη

ΕΠΙΛΕΓΩ

O.ORDER_ID,

Αθροιστικό (oi.quantity * p.price) ως total_order_value

Από παραγγελίες o

Συμμετοχή order_items oi στο o.order_id =oi.order_id

Συμμετάσχετε στα προϊόντα P στο oi.product_id =p.id

Όπου o.user_id =@user_id

Ομάδα από O.Order_id;

`` `

Αυτό το ερώτημα ρυθμίζει πρώτα τη μεταβλητή `@user_id` σε 1.

Βασικά σημεία:

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

- Οι τοπικές μεταβλητές είναι προσβάσιμες μόνο εντός της αποθηκευμένης διαδικασίας ή λειτουργίας όπου δηλώνονται.

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

- Χρησιμοποιήστε μεταβλητές με σύνεση για να βελτιώσετε την αναγνωσιμότητα και την επαναχρησιμοποίηση των ερωτημάτων.

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

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