MySQL è uno dei database relazionali più popolari. Ti consente di archiviare i dati nelle tabelle e creare relazioni tra quelle tabelle. Per utilizzare MySQL, che funziona come un server di database, dovrai scrivere del codice per connetterti ad esso.

La maggior parte dei linguaggi di programmazione come Python fornisce supporto per questo. In effetti, in Python ci sono diversi approcci che puoi adottare, ognuno con i suoi vantaggi.

Prepara la tua configurazione MySQL

Per connettersi al database, sono necessari i seguenti valori:

  • Host: la posizione del server MySQL, localhost se lo esegui sullo stesso computer.
  • Utente: il nome utente MySQL.
  • Password: la password MySQL.
  • Nome database: il nome del database a cui ci si vuole connettere.

Prima di connetterti al database MySQL, crea una nuova directory:

mkdir python-mysql

Configura un ambiente virtuale Python

Un ambiente virtuale Python consente di installare pacchetti ed eseguire script in un ambiente isolato. Quando tu creare un ambiente virtuale

instagram viewer
, puoi quindi installare versioni delle dipendenze Python e Python al suo interno. In questo modo, isoli diverse versioni ed eviti problemi di compatibilità.

Connettiti a MySQL usando mysqlclient

Il mysqlclient driver è un'interfaccia per il server di database MySQL che fornisce l'API del server di database Python. È scritto in C.

Eseguire il comando seguente nell'ambiente virtuale per installare mysqlclient:

pip installare mysqlclient

Se sei su una macchina Linux, installa prima le intestazioni e le librerie di sviluppo di Python 3 e MySQL.

#Debian/Ubuntu
sudo apt-get installare python3-dev predefinito-libmysqlclient-dev costruire-essenziale

# Cappello Rosso / CentOS
sudo gnam installare python3-devel mysql-devel

Su Windows, puoi installare mysqlclient usando un file di ruota binaria. Scarica il file mysqlclient compatibile con la tua piattaforma da La collezione non ufficiale di Christoph Gohlke. È quindi possibile utilizzare il file della ruota scaricato con pip per installare mysqlclient in questo modo:

pipinstallarec:\\mysqlclient‑1.3.13cp36cp36mwin_amd64.whl

Utilizzare il seguente codice di connessione per connettersi al database MySQL una volta completata l'installazione:

importare MySQLdb

connessione = MySQLdb.connect(
ospite="host locale",
utente="<utente_mysql>",
passwd="<mysql_password>",
db="<nome del database>"
)

cursore = connection.cursor()
cursor.execute("SelezionareBanca dati();")
db = cursore.fetchone()

se db:
Stampa("Voi'ricollegato al database: ", db)
altro:
Stampa('Non collegata.')

In questo programma hai:

  • MySQL client importato.
  • Creato un oggetto di connessione usando MySQLdb.connect().
  • Passato i dettagli di configurazione del database a MySQLdb.connect().
  • Creato un oggetto cursore per interagire con MySQL.
  • Utilizzato l'oggetto cursore per recuperare la versione del database MySQL connesso.

Ricordati di cambiare i dettagli del database con i tuoi.

Connettiti a MySQL usando mysql-connector-python

mysql-connector-python è il driver di connessione ufficiale supportato da Oracle. È anche scritto in puro Python.

Installalo tramite pip per iniziare a usarlo.

pip installare mysql-connector-python

Connettiti a MySQL usando il seguente codice di connessione.

importare mysql.connector
da mysql.connector importareErrore

connessione = mysql.connector.connect (host="host locale",
utente="<utente_mysql>",
passwd="<mysql_password>",
db="<nome del database>")

Tentativo:
Seconnessione.è connesso():
cursore = connection.cursor()
cursor.execute("SelezionareBanca dati();")
db = cursore.fetchone()
Stampa("Voi'ricollegato al database: ", db)
tranne Errorecome e:
Stampa("Errorementre connessione a MySQL", e)
finalmente:
Seconnessione.è connesso():
cursore.chiudere()
connessione.chiudere()
print("Connessione MySQL è Chiuso")

Il codice di connessione sopra fa la stessa cosa che fa il codice di connessione mysqclient.

Una volta creato l'oggetto connessione, è possibile creare un cursore, che è quindi possibile utilizzare per eseguire query sul database.

Questo programma di connessione utilizza anche il prova a prendere bloccare. La classe Error, da mysql.connector, ti consente di rilevare le eccezioni sollevate durante la connessione al database. Ciò dovrebbe semplificare il debug e la risoluzione dei problemi.

Connettiti a MySQL usando PyMySQL

Il PyMySQL il driver di connessione è un sostituto di MySQLdb. Per usarlo, devi eseguire Python 3.7 o versioni successive e il tuo server MySQL dovrebbe essere la versione 5. 7 o più recente. Se usi MariaDB dovrebbe essere la versione 10.2 o successiva. Puoi trovare questi requisiti su Pagina PyMySQL Github.

Per installare PyMySQL, esegui il comando seguente.

pip installare PyMySQL

Connettiti a MySQL usando PyMySQL usando questo codice.

importare pymysql

connessione = pymysql.connect (host="host locale",
utente="<utente_mysql>",
password="<mysql_password>",
banca dati="<nome del database>")

Tentativo:
cursore = connection.cursor()
cursor.execute("SelezionareBanca dati();")
db = cursore.fetchone()
Stampa("Voi'ricollegato al database: ", db)
tranne pymysql. Errore come e:
Stampa("Errorementre connessione a MySQL", e)
finalmente:
cursore.chiudere()
connessione.chiudere()
print("Connessione MySQL è Chiuso")

Dopo aver effettuato la connessione e creato l'oggetto cursore, puoi iniziare a creare Query SQL.

Connettiti a MySQL usando aiomysql

Il aiomysql il driver di connessione è come la versione asincrona di PyMySQL. Fornisce l'accesso a un database MySQL dal framework asyncio.

Per usare aiomysql, hai bisogno di Python 3.7+ e PyMySQL installati nel tuo ambiente di sviluppo.

Esegui il comando seguente per installare asyncio e aiomysql.

pip installare asincio
pip installare aiomysql

Con aiomysql, puoi connettere Python a MySQL utilizzando un oggetto di connessione di base e utilizzando un pool di connessioni.

Ecco un esempio che mostra come connettersi al database MySQL utilizzando un oggetto di connessione.

importare asincio
importare aiomysql
ciclo = asyncio.get_event_loop()

asincronodefpython_mysql():
connessione = attendi aiomysql.connect (host="host locale",
utente="<utente_mysql>",
password="<mysql_password>",
banca dati="<nome del database>")

cur = aspettare connection.cursor()
await cur.execute("SelezionareBanca dati();")
db = aspettare cur.fetchone()
Stampa("Voi'ricollegato al database: ", db)
aspettare cur.close()
connessione.chiudere()

ciclo continuo.esegui_fino al_completo(python_mysql())

A differenza di un oggetto connessione al database, un pool di connessioni consente di riutilizzare le connessioni al database. Lo fa mantenendo un pool di connessioni aperte e assegnandole su richiesta. Quando un client richiede una connessione, ne viene assegnata una dal pool. Una volta che il client chiude la connessione, la connessione torna al pool.

Il codice di base per la connessione tramite un pool è il seguente:

importare asincio
importare aiomysql
ciclo = asyncio.get_event_loop()
asincronodefpython_mysql():
pool = attendi aiomysql.create_pool (host="host locale",
utente="<utente_mysql>",
password="<mysql_password>",
banca dati="<nome del database>", ciclo=ciclo, autocommit=Falso)

asincronoinsieme a pool.acquisire() come connessione:
cursore = aspettare connection.cursor()
await cur.execute("SelezionareBanca dati();")
db = aspettare cur.fetchone()
Stampa("Voi'ricollegato al database: ", db)

piscina.chiudere()
aspettare pool.wait_closed()

ciclo continuo.esegui_fino al_completo(python_mysql())

Questo programma dovrebbe stampare la versione di MySQL a cui ti sei connesso quando lo esegui.

Gestire il tuo database PostgreSQL

Questo articolo ti ha mostrato diversi modi per connettere un'applicazione Python a MySQL. Ciascuno di questi metodi consente di interagire ed eseguire query sul database.

Una volta connesso a un database MySQL, puoi eseguire query di dati ed eseguire transazioni di database. Puoi creare un'applicazione Python, collegarla a MySQL e iniziare a memorizzare i dati.