Η ανάκτηση δεδομένων από μια βάση δεδομένων είναι ένα βασικό στοιχείο της εφαρμογής της Python στην ανάπτυξη λογισμικού. Σήμερα θα ασχοληθούμε με τη δήλωση SELECT, που σου επιτρέπει να ανακτήσεις δεδομένα από μια MySQL βάση δεδομένων με αποδοτικό τρόπο. Σε αυτόν τον οδηγό θα μάθεις πώς να διαβάσεις μια εγγραφή από έναν πίνακα 'books' με μια απλή δήλωση SELECT.

Κύριες γνώσεις

Θα μάθεις πώς να ανακτάς δεδομένα με μια μέθοδο, πώς να χρησιμοποιείς αντικείμενα Cursor και πόσο σημαντικό είναι να κλείνεις τη σύνδεση με τη βάση δεδομένων.

Βήμα-Βήμα Οδηγός

Για να διαβάσεις όλες τις εγγραφές από μια MySQL βάση δεδομένων, θα δημιουργήσεις τη μέθοδο getbooks. Σε αυτή τη διαδικασία θα έρθεις σε επαφή με τους Cursors και θα εκτελέσεις μια δήλωση SELECT.

Αρχικά, πρέπει να βεβαιωθείς ότι έχεις ήδη ένα αντικείμενο σύνδεσης που διατηρεί τη σύνδεση με τη βάση δεδομένων. Γι’ αυτό έχεις πρόσβαση στο self.connection, που είναι ορισμένο στην κλάση σου.

Ανάκτηση δεδομένων από MySQL με Python βήμα προς βήμα

Μετά, χρειάζεσαι έναν Cursor για να εκτελείς SQL δηλώσεις. Καλώντας το self.connection.cursor() θα αποκτήσεις αυτό το αντικείμενο Cursor.

Ανάκτηση δεδομένων από MySQL με Python βήμα προς βήμα

Με τον Cursor μπορείς να εκτελέσεις τη δήλωση SELECT. Γράψε cursor.execute('SELECT * FROM books') και έτσι θα σταλεί η δήλωση στη βάση δεδομένων. Το αστέρι (*) αναφέρεται σε όλες τις στήλες του πίνακα "books".

Ανάκτηση δεδομένων από MySQL με Python βήμα προς βήμα

Αφού εκτελεστεί η δήλωση, πρέπει να ανακτήσεις τα αποτελέσματα. Αυτό γίνεται με cursor.fetchall(), που επιστρέφει όλες τις εγγραφές.

Ανάκτηση Δεδομένων από MySQL με Python Βήμα προς Βήμα

Τώρα μπορείς να επιστρέψεις την ανακτημένη εγγραφή, γράφοντας return cursor.fetchall().

Ωστόσο, είναι σημαντικό να κλείνεις τον Cursor και τη σύνδεση μετά την ερώτηση, για να απελευθερώσεις πόρους. Αυτό γίνεται με cursor.close() και self.connection.close(). Και οι δύο πρέπει να καλούνται στο τέλος της μεθόδου σου.

Ανάκτηση δεδομένων από MySQL με Python βήμα προς βήμα

Για να εμφανίσεις τα δεδομένα, μπορείς να καλέσεις τη μέθοδο getbooks και να περάσεις την επιστροφή σε μια βρόχο. Για παράδειγμα, μπορείς να χρησιμοποιήσεις for book in getbooks(): print(book) για να εμφανίσεις όλα τα βιβλία στην οθόνη.

Ανάκτηση δεδομένων από MySQL με Python βήμα προς βήμα

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

Ανάκτηση δεδομένων από MySQL με Python βήμα προς βήμα

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

Σύνοψη – Ανάγνωση δεδομένων από MySQL με Python – Βήμα προς Βήμα

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

Συχνές ερωτήσεις

Πώς μπορώ να ανακτήσω δεδομένα από τη βάση δεδομένων;Μπορείς να ανακτήσεις δεδομένα εκτελώντας μια δήλωση SELECT στη μέθοδο σου και στη συνέχεια ανακτώντας τα αποτελέσματα με cursor.fetchall().

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

Μπορώ να κάνω ερωτήσεις μόνο για συγκεκριμένες στήλες;Ναι, αντί για SELECT * μπορείς να καθορίσεις και συγκεκριμένες στήλες, π.χ. SELECT title, author FROM books.