Esercizi Connessione MySQL Python
Codegrind Team•Jul 10 2024
Impara a stabilire connessioni con un database MySQL utilizzando diverse librerie Python attraverso questi esercizi pratici.
Esercizio 1: Connessione con PyMySQL (Sequenziale)
Esempio di connessione a un database MySQL usando PyMySQL.
import pymysql.cursors
def connect_db():
connection = pymysql.connect(host='localhost',
user='user',
password='password',
database='testdb',
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor)
try:
print("Connessione stabilita:", connection)
finally:
connection.close()
connect_db()
Esercizio 2: Connessione con mysql-connector-python (OOP)
Creare una classe per gestire la connessione a un database MySQL usando mysql-connector-python.
import mysql.connector
class MySQLConnection:
def __init__(self, host, user, password, database):
self.host = host
self.user = user
self.password = password
self.database = database
def connect(self):
self.connection = mysql.connector.connect(host=self.host,
user=self.user,
password=self.password,
database=self.database)
print("Connessione stabilita:", self.connection)
def close(self):
if self.connection:
self.connection.close()
print("Connessione chiusa.")
db = MySQLConnection('localhost', 'user', 'password', 'testdb')
db.connect()
db.close()
Esercizio 3: Connessione con SQLAlchemy (Sequenziale)
Stabilire una connessione a un database MySQL usando SQLAlchemy.
from sqlalchemy import create_engine
def connect_db():
engine = create_engine('mysql+pymysql://user:password@localhost/testdb')
connection = engine.connect()
print("Connessione stabilita:", connection)
connection.close()
connect_db()
Esercizio 4: Connessione con aiomysql (OOP)
Creare una classe per gestire la connessione asincrona a un database MySQL usando aiomysql.
import asyncio
import aiomysql
class AsyncMySQLConnection:
async def connect(self):
self.pool = await aiomysql.create_pool(host='127.0.0.1', port=3306,
user='root', password='password',
db='testdb', loop=asyncio.get_running_loop())
print("Connessione stabilita:", self.pool)
async def close(self):
self.pool.close()
await self.pool.wait_closed()
print("Connessione chiusa.")
async def main():
db = AsyncMySQLConnection()
await db.connect()
await db.close()
asyncio.run(main())
Esercizio 5: Connessione con MySQLdb (Sequenziale)
Utilizzare MySQLdb per connettersi a un database MySQL.
import MySQLdb
def connect_db():
db = MySQLdb.connect(host="localhost", user="user", passwd="password", db="testdb")
print("Connessione stabilita:", db)
db.close()
connect_db()
Esercizio 6: Connessione con pymysql (OOP)
Creare una classe che utilizza PyMySQL per stabilire una connessione al database MySQL.
import pymysql
class Database:
def __init__(self, config):
self.config = config
def connect(self):
self.connection = pymysql.connect(**self.config)
print("Connessione stabilita:", self.connection)
def close(self):
self.connection.close()
print("Connessione chiusa.")
config = {
'host': 'localhost',
'user': 'user',
'password': 'password',
'database': 'testdb',
'charset': 'utf8mb4'
}
db = Database(config)
db.connect()
db.close()