Ενημέρωση εγγραφών μέσω SQL ερωτήματος στην Python
Ας μάθουμε τώρα πώς να αλλάζουμε εγγραφές.
Αυτό γίνεται με την εντολή UPDATE.
Έχει την ακόλουθη σύνταξη:
query = "UPDATE πίνακας SET πεδίο = τιμή WHERE συνθήκη"
with connection.cursor(dictionary=True) as cursor:
cursor.execute(query)
connection.commit()
Με την εντολή UPDATE πρέπει πάντα
να χρησιμοποιείτε τη μέθοδο commit:
with connection.cursor(dictionary=True) as cursor:
cursor.execute(query)
connection.commit()
Να είστε προσεκτικοί, αν δεν ορίσετε το
μπλοκ WHERE στο ερώτημα, τότε κατά
την ενημέρωση όλες οι αρχικές εγγραφές θα αντικατασταθούν
από νέες.
Παράδειγμα
Ας αλλάξουμε την ηλικία και τον μισθό του χρήστη:
query = "UPDATE users SET age=20, salary=800 WHERE id=1"
Παράδειγμα
Ας ορίσουμε μισθό 400 και ηλικία
24 σε όλους τους χρήστες ηλικίας 23:
query = "UPDATE users SET age=24, salary=300 WHERE age=23"
Πρακτικά προβλήματα
Χρησιμοποιώντας το dump του πίνακα
users που δημιουργήσατε προηγουμένως, επαναφέρετε τον
στην αρχική του κατάσταση.
Για τον χρήστη με id 4 ορίστε ηλικία
35 ετών.
Σε όλους όσων ο μισθός είναι 500, κάντε τον
700.
Σε εργαζόμενους με id μεγαλύτερο από 2 και
μικρότερο ή ίσο του 5 ορίστε
ηλικία 23.