Esercizi Connessione MySQL Python
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 asyncioimport 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()