Esercizi Eliminazione MySQL Python
- Esercizio 1: Eliminazione Singola con mysql-connector-python (Sequenziale)
- Esercizio 2: Eliminazione Multipla con PyMySQL (OOP)
- Esercizio 3: Eliminazione Condizionata con PyMySQL (Sequenziale)
- Esercizio 4: Eliminazione Tutto con mysql-connector-python (OOP)
- Esercizio 5: Eliminazione Specifica con mysql-connector-python (Sequenziale)
- Esercizio 6: Eliminazione Multipla con mysql-connector-python (OOP)
- Esercizio 7: Eliminazione Aggregata con PyMySQL (Sequenziale)
- Esercizio 8: Eliminazione Singola con PyMySQL (OOP)
- Esercizio 9: Eliminazione Dettagliata con mysql-connector-python (Sequenziale)
- Esercizio 10: Eliminazione Completa con PyMySQL (OOP)
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()