🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

Esercizi Eliminazione MySQL Python

Codegrind Team•Jul 10 2024

Qua trovate 10 esercizi sulla gestione dell’eliminazione di dati in un database MySQL utilizzando le librerie Python mysql-connector-python e pymysql. Gli esercizi includono sia approcci sequenziali che orientati agli oggetti (OOP), e si concentrano esclusivamente sull’eliminazione dei dati.

Esercizio 1: Eliminazione Singola con mysql-connector-python (Sequenziale)

Eliminare un singolo record da una tabella utilizzando mysql-connector-python.
import mysql.connector

def delete_single_data():
    connection = mysql.connector.connect(host='localhost', user='user', password='password', database='testdb')
    cursor = connection.cursor()
    query = "DELETE FROM employees WHERE employee_id = %s"
    employee_id = (1,)
    cursor.execute(query, employee_id)
    connection.commit()
    print("Record eliminato con successo")
    cursor.close()
    connection.close()

delete_single_data()

Esercizio 2: Eliminazione Multipla con PyMySQL (OOP)

Eliminare più record contemporaneamente da una tabella utilizzando PyMySQL e OOP.
import pymysql

class Database:
    def __init__(self):
        self.connection = pymysql.connect(host='localhost', user='user', password='password', database='testdb')

    def delete_multiple_data(self):
        with self.connection.cursor() as cursor:
            query = "DELETE FROM employees WHERE position = %s"
            position = ("Intern",)
            cursor.execute(query, position)
            self.connection.commit()
            print(f"{cursor.rowcount} record eliminati con successo")

    def close(self):
        self.connection.close()

db = Database()
db.delete_multiple_data()
db.close()

Esercizio 3: Eliminazione Condizionata con PyMySQL (Sequenziale)

Scrivere uno script per eliminare record con condizioni specifiche usando PyMySQL.
import pymysql

def delete_conditional_records():
    connection = pymysql.connect(host='localhost', user='user', password='password', database='testdb')
    cursor = connection.cursor()
    query = "DELETE FROM products WHERE price < %s"
    price = (50,)
    cursor.execute(query, price)
    connection.commit()
    print(f"{cursor.rowcount} prodotti eliminati con successo")
    cursor.close()
    connection.close()

delete_conditional_records()

Esercizio 4: Eliminazione Tutto con mysql-connector-python (OOP)

Utilizzare mysql-connector-python per eliminare tutti i record da una tabella in modalità OOP.
import mysql.connector

class CompleteDeleteDatabase:
    def __init__(self):
        self.connection = mysql.connector.connect(host='localhost', user='user', password='password', database='testdb')

    def delete_all(self, table_name):
        cursor = self.connection.cursor()
        query = f"DELETE FROM {table_name}"
        cursor.execute(query)
        self.connection.commit()
        print(f"Tutti i record dalla tabella {table_name} sono stati eliminati")
        cursor.close()

    def close(self):
        self.connection.close()

db = CompleteDeleteDatabase()
db.delete_all('temporary_data')
db.close()

Esercizio 5: Eliminazione Specifica con mysql-connector-python (Sequenziale)

Eliminare record specificando una condizione complessa con mysql-connector-python.
import mysql.connector

def delete_specific_records():
    connection = mysql.connector.connect(host='localhost', user='user', password='password', database='testdb')
    cursor = connection.cursor()
    query = "DELETE FROM orders WHERE order_date < %s AND status = %s"
    data = ("2022-01-01", "Pending")
    cursor.execute(query, data)
    connection.commit()
    print(f"{cursor.rowcount} ordini eliminati con successo")
    cursor.close()
    connection.close()

delete_specific_records()

Esercizio 6: Eliminazione Multipla con mysql-connector-python (OOP)

Utilizzare mysql-connector-python per eliminare più record in modalità OOP.
import mysql.connector

class ProductDatabase:
    def __init__(self):
        self.connection = mysql.connector.connect(host='localhost', user='user', password='password', database='testdb')

    def delete_products(self):
        cursor = self.connection.cursor()
        cursor.execute("DELETE FROM products WHERE quantity = 0")
        self.connection.commit()
        print(f"{cursor.rowcount} prodotti senza stock eliminati con successo")
        cursor.close()

    def close(self):
        self.connection.close()

db = ProductDatabase()
db.delete_products()
db.close()

Esercizio 7: Eliminazione Aggregata con PyMySQL (Sequenziale)

Scrivere uno script per eseguire una eliminazione basata su un'aggregazione (es. DELETE WHERE id IN ...) usando PyMySQL.
import pymysql

def delete_aggregate_data():
    connection = pymysql.connect(host='localhost', user='user', password='password', database='testdb')
    cursor = connection.cursor()
    subquery = "SELECT employee_id FROM employees WHERE hire_date < %s"
    hire_date = ("2015-01-01",)
    query = f"DELETE FROM employees WHERE employee_id IN ({subquery})"
    cursor.execute(query, hire_date)
    connection.commit()
    print(f"{cursor.rowcount} dipendenti assunti prima del 2015 eliminati con successo")
    cursor.close()
    connection.close()

delete_aggregate_data()

Esercizio 8: Eliminazione Singola con PyMySQL (OOP)

Creare una classe per eliminare un singolo record da una tabella usando PyMySQL.
import pymysql

class UserDatabase:
    def __init__(self):
        self.connection = pymysql.connect(host='localhost', user='user', password='password', database='testdb')

    def delete_user(self, user_id):
        with self.connection.cursor() as cursor:
            cursor.execute("DELETE FROM users WHERE user_id = %s", (user_id,))
            self.connection.commit()
            print("Utente eliminato con successo")

    def close(self):
        self.connection.close()

db = UserDatabase()
db.delete_user(3)
db.close()

Esercizio 9: Eliminazione Dettagliata con mysql-connector-python (Sequenziale)

Eliminare dettagli da una tabella filtrando i risultati in base a una condizione specifica usando mysql-connector-python.
import mysql.connector

def delete_detailed_records():
    connection = mysql.connector.connect(host='localhost', user='user', password='password', database='testdb')
    cursor = connection.cursor()
    query = "DELETE FROM projects WHERE end_date IS NULL"
    cursor.execute(query)
    connection.commit()
    print(f"{cursor.rowcount} progetti senza data di fine eliminati con successo")
    cursor.close()
    connection.close()

delete_detailed_records()

Esercizio 10: Eliminazione Completa con PyMySQL (OOP)

Creare una classe che elimina tutte le informazioni da una tabella specifica utilizzando PyMySQL.
import pymysql

class

 CompleteDeleteDatabase:
    def __init__(self):
        self.connection = pymysql.connect(host='localhost', user='user', password='password', database='testdb')

    def delete_all(self, table_name):
        with self.connection.cursor() as cursor:
            query = f"DELETE FROM {table_name}"
            cursor.execute(query)
            self.connection.commit()
            print(f"Tutti i record dalla tabella {table_name} sono stati eliminati")

    def close(self):
        self.connection.close()

db = CompleteDeleteDatabase()
db.delete_all('temporary_logs')
db.close()