🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

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()