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

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

Προετοιμάστε τις ρυθμίσεις παραμέτρων MySQL

Για να συνδεθείτε στη βάση δεδομένων, χρειάζεστε τις ακόλουθες τιμές:

  • Host: η τοποθεσία του διακομιστή MySQL, localhost εάν τον εκτελείτε στον ίδιο υπολογιστή.
  • Χρήστης: το όνομα χρήστη MySQL.
  • Κωδικός πρόσβασης: ο κωδικός πρόσβασης MySQL.
  • Όνομα βάσης δεδομένων: το όνομα της βάσης δεδομένων στην οποία θέλετε να συνδεθείτε.

Πριν συνδεθείτε στη βάση δεδομένων MySQL, δημιουργήστε έναν νέο κατάλογο:

mkdir python-mysql

Ρυθμίστε ένα εικονικό περιβάλλον Python

instagram viewer

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

Σύνδεση στη MySQL Χρησιμοποιώντας το mysqlclient

ο mysqlclient Το πρόγραμμα οδήγησης είναι μια διεπαφή με τον διακομιστή βάσης δεδομένων MySQL που παρέχει το API διακομιστή βάσης δεδομένων Python. Είναι γραμμένο στο C.

Εκτελέστε την ακόλουθη εντολή στο εικονικό περιβάλλον για να εγκαταστήσετε το mysqlclient:

κουκούτσι εγκαθιστώ mysqlclient

Εάν χρησιμοποιείτε μηχανή Linux, εγκαταστήστε πρώτα τις κεφαλίδες και τις βιβλιοθήκες ανάπτυξης Python 3 και MySQL.

# Debian / Ubuntu
sudo apt-get εγκαθιστώ python3-dev Προκαθορισμένο-libmysqlclient-dev χτίζω-ουσιώδης

# Red Hat / CentOS
sudo yum εγκαθιστώ python3-devel mysql-devel

Στα Windows, μπορείτε να εγκαταστήσετε το mysqlclient χρησιμοποιώντας ένα δυαδικό αρχείο τροχού. Κατεβάστε το αρχείο mysqlclient που είναι συμβατό με την πλατφόρμα σας από Η ανεπίσημη συλλογή του Christoph Gohlke. Στη συνέχεια, μπορείτε να χρησιμοποιήσετε το ληφθέν αρχείο τροχού με το pip για να εγκαταστήσετε το mysqlclient ως εξής:

κουκούτσιεγκαθιστώντο:\\mysqlclient‑1.3.13cp36cp36mwin_amd64.whl

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

εισαγωγή MySQLdb

σύνδεση = MySQLdb.connect(
οικοδεσπότης="localhost",
χρήστης="<mysql_user>",
passwd="<mysql_password>",
db="<όνομα βάσης δεδομένων>"
)

δρομέας = σύνδεση.cursor()
cursor.execute("επιλέγωβάση δεδομένων();")
db = cursor.fetchone()

αν db:
Τυπώνω("Εσείς'επανασυνδέεται με τη βάση δεδομένων: ", db)
αλλού:
Τυπώνω('Μη συνδεδεμένο.')

Σε αυτό το πρόγραμμα, έχετε:

  • Εισαγόμενο mysqlclient.
  • Δημιούργησε ένα αντικείμενο σύνδεσης χρησιμοποιώντας το MySQLdb.connect().
  • Μεταβίβασε τις λεπτομέρειες διαμόρφωσης της βάσης δεδομένων στο MySQLdb.connect().
  • Δημιούργησε ένα αντικείμενο δρομέα για αλληλεπίδραση με τη MySQL.
  • Χρησιμοποίησε το αντικείμενο του δρομέα για την ανάκτηση της έκδοσης της συνδεδεμένης βάσης δεδομένων MySQL.

Θυμηθείτε να αλλάξετε τις λεπτομέρειες της βάσης δεδομένων με τις δικές σας.

Σύνδεση με MySQL Χρησιμοποιώντας mysql-connector-python

mysql-connector-python είναι το επίσημο πρόγραμμα οδήγησης σύνδεσης που υποστηρίζεται από την Oracle. Είναι επίσης γραμμένο σε καθαρή Python.

Εγκαταστήστε το μέσω pip για να αρχίσετε να το χρησιμοποιείτε.

κουκούτσι εγκαθιστώ mysql-connector-python

Συνδεθείτε στη MySQL χρησιμοποιώντας τον ακόλουθο κωδικό σύνδεσης.

εισαγωγή mysql.connector
από mysql.connector εισαγωγήΛάθος

σύνδεση = mysql.connector.connect (host="localhost",
χρήστης="<mysql_user>",
passwd="<mysql_password>",
db="<όνομα βάσης δεδομένων>")

προσπαθήστε:
ανσύνδεση.είναι συνδεδεμένο():
δρομέας = σύνδεση.cursor()
cursor.execute("επιλέγωβάση δεδομένων();")
db = cursor.fetchone()
Τυπώνω("Εσείς'επανασυνδέεται στη βάση δεδομένων: ", db)
εκτός Λάθοςόπως και μι:
Τυπώνω("Λάθοςενώ σύνδεση με MySQL", ε)
τελικά:
ανσύνδεση.είναι συνδεδεμένο():
δρομέας.Κλείσε()
σύνδεση.Κλείσε()
print("Σύνδεση MySQL είναι κλειστό")

Ο παραπάνω κωδικός σύνδεσης κάνει το ίδιο πράγμα που κάνει ο κωδικός σύνδεσης mysqclient.

Μόλις δημιουργήσετε το αντικείμενο σύνδεσης, μπορείτε να δημιουργήσετε έναν δρομέα, τον οποίο μπορείτε στη συνέχεια να χρησιμοποιήσετε για να εκτελέσετε ερωτήματα στη βάση δεδομένων.

Αυτό το πρόγραμμα σύνδεσης χρησιμοποιεί επίσης το προσπάθησε να πιάσεις ΟΙΚΟΔΟΜΙΚΟ ΤΕΤΡΑΓΩΝΟ. Η κλάση Error, από mysql.connector, σας επιτρέπει να συλλάβετε τις εξαιρέσεις που εγείρονται κατά τη σύνδεση στη βάση δεδομένων. Αυτό θα πρέπει να απλοποιήσει τον εντοπισμό σφαλμάτων και την αντιμετώπιση προβλημάτων.

Συνδεθείτε στο MySQL χρησιμοποιώντας PyMySQL

ο PyMySQL Το πρόγραμμα οδήγησης σύνδεσης αντικαθιστά το MySQLdb. Για να το χρησιμοποιήσετε, πρέπει να εκτελείτε Python 3.7 ή νεότερη έκδοση και ο διακομιστής MySQL να είναι η έκδοση 5. 7, ή νεότερο. Εάν χρησιμοποιείτε το MariaDB, θα πρέπει να είναι έκδοση 10.2 ή νεότερη. Μπορείτε να βρείτε αυτές τις απαιτήσεις στο Σελίδα PyMySQL Github.

Για να εγκαταστήσετε το PyMySQL, εκτελέστε την ακόλουθη εντολή.

κουκούτσι εγκαθιστώ PyMySQL

Συνδεθείτε στη MySQL χρησιμοποιώντας το PyMySQL χρησιμοποιώντας αυτόν τον κώδικα.

εισαγωγή pymysql

σύνδεση = pymysql.connect (host="localhost",
χρήστης="<mysql_user>",
κωδικός πρόσβασης ="<mysql_password>",
βάση δεδομένων="<όνομα βάσης δεδομένων>")

προσπαθήστε:
δρομέας = σύνδεση.cursor()
cursor.execute("επιλέγωβάση δεδομένων();")
db = cursor.fetchone()
Τυπώνω("Εσείς'επανασυνδέεται με τη βάση δεδομένων: ", db)
εκτός pymysql. Λάθος όπως και μι:
Τυπώνω("Λάθοςενώ σύνδεση με MySQL", ε)
τελικά:
δρομέας.Κλείσε()
σύνδεση.Κλείσε()
print("Σύνδεση MySQL είναι κλειστό")

Αφού πραγματοποιήσετε τη σύνδεση και δημιουργήσετε το αντικείμενο του δρομέα, μπορείτε να ξεκινήσετε τη δημιουργία Ερωτήματα SQL.

Σύνδεση στη MySQL Χρησιμοποιώντας aiomysql

ο aiomysql Το πρόγραμμα οδήγησης σύνδεσης είναι σαν την ασύγχρονη έκδοση του PyMySQL. Παρέχει πρόσβαση σε μια βάση δεδομένων MySQL από το πλαίσιο asyncio.

Για να χρησιμοποιήσετε το aiomysql, χρειάζεστε Python 3.7+ και PyMySQL εγκατεστημένα στο περιβάλλον ανάπτυξης σας.

Εκτελέστε την ακόλουθη εντολή για να εγκαταστήσετε το asyncio και το aiomysql.

κουκούτσι εγκαθιστώ asyncio
κουκούτσι εγκαθιστώ aiomysql

Με το aiomysql, μπορείτε να συνδέσετε την Python στη MySQL χρησιμοποιώντας ένα βασικό αντικείμενο σύνδεσης και χρησιμοποιώντας μια πισίνα σύνδεσης.

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

εισαγωγή asyncio
εισαγωγή aiomysql
loop = asyncio.get_event_loop()

ασυγχρονισμόςdefpython_mysql():
σύνδεση = αναμονή aiomysql.connect (host="localhost",
χρήστης="<mysql_user>",
κωδικός πρόσβασης ="<mysql_password>",
βάση δεδομένων="<όνομα βάσης δεδομένων>")

cur = αναμένω connection.cursor()
αναμονή cur.execute("επιλέγωβάση δεδομένων();")
db = αναμένω cur.fetchone()
Τυπώνω("Εσείς'επανασυνδέεται με τη βάση δεδομένων: ", db)
αναμένω cur.close()
σύνδεση.Κλείσε()

βρόχος.run_until_complete(python_mysql())

Σε αντίθεση με ένα αντικείμενο σύνδεσης βάσης δεδομένων, μια ομάδα σύνδεσης σάς επιτρέπει να επαναχρησιμοποιείτε συνδέσεις βάσης δεδομένων. Αυτό το κάνει διατηρώντας μια δεξαμενή ανοιχτών συνδέσεων και εκχωρώντας τες κατόπιν αιτήματος. Όταν ένας πελάτης ζητά σύνδεση, του εκχωρείται μία από το pool. Μόλις ο πελάτης κλείσει τη σύνδεση, η σύνδεση επιστρέφει στην πισίνα.

Ο βασικός κώδικας για τη σύνδεση μέσω μιας πισίνας είναι ο παρακάτω:

εισαγωγή asyncio
εισαγωγή aiomysql
loop = asyncio.get_event_loop()
ασυγχρονισμόςdefpython_mysql():
pool = αναμονή aiomysql.create_pool (host="localhost",
χρήστης="<mysql_user>",
κωδικός πρόσβασης ="<mysql_password>",
βάση δεδομένων="<όνομα βάσης δεδομένων>", loop=loop, autocommit=False)

ασυγχρονισμόςμε pool.acquire() όπως και σύνδεση:
δρομέας = αναμένω connection.cursor()
αναμονή cur.execute("επιλέγωβάση δεδομένων();")
db = αναμένω cur.fetchone()
Τυπώνω("Εσείς'επανασυνδέεται με τη βάση δεδομένων: ", db)

πισίνα.Κλείσε()
αναμένω pool.wait_closed()

βρόχος.run_until_complete(python_mysql())

Αυτό το πρόγραμμα θα πρέπει να εκτυπώσει την έκδοση της MySQL στην οποία έχετε συνδεθεί όταν το εκτελείτε.

Διαχείριση της βάσης δεδομένων PostgreSQL

Αυτό το άρθρο σάς έδειξε διάφορους τρόπους με τους οποίους μπορείτε να συνδέσετε μια εφαρμογή Python στη MySQL. Κάθε μία από αυτές τις μεθόδους σάς επιτρέπει να αλληλεπιδράτε και να εκτελείτε ερωτήματα στη βάση δεδομένων.

Αφού συνδεθείτε σε μια βάση δεδομένων MySQL, μπορείτε να εκτελέσετε ερωτήματα δεδομένων και να εκτελέσετε συναλλαγές βάσης δεδομένων. Μπορείτε να δημιουργήσετε μια εφαρμογή Python, να την συνδέσετε με τη MySQL και να ξεκινήσετε την αποθήκευση δεδομένων.