Esercizi Inserimento MySQL Python

Migliora le tue abilità di manipolazione di database MySQL con questi esercizi che coprono l’inserimento di dati usando due delle librerie Python più popolari.

Esercizio 1: Inserimento Singolo con mysql-connector-python (Sequenziale)

Inserire un singolo record in una tabella utilizzando mysql-connector-python.
import mysql.connector

def insert_data():
    connection = mysql.connector.connect(host='localhost', user='user', password='password', database='testdb')
    cursor = connection.cursor()
    query = "INSERT INTO employees (name, position) VALUES (%s, %s)"
    data = ("John Doe", "Software Engineer")
    cursor.execute(query, data)
    connection.commit()
    print("Record inserito con successo")
    cursor.close()
    connection.close()

insert_data()

Esercizio 2: Inserimento Multiplo con PyMySQL (OOP)

Inserire più record contemporaneamente in 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 insert_multiple_data(self):
        with self.connection.cursor() as cursor:
            query = "INSERT INTO employees (name, position) VALUES (%s, %s)"
            employees = [
                ("Alice Smith", "Data Scientist"),
                ("Bob Johnson", "Project Manager")
            ]
            cursor.executemany(query, employees)
            self.connection.commit()
            print(f"{cursor.rowcount} records inseriti con successo")

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

db = Database()
db.insert_multiple_data()
db.close()

Esercizio 3: Inserimento Singolo con PyMySQL (Sequenziale)

Scrivere un script per inserire un singolo record usando PyMySQL.
import pymysql

def insert_single_record():
    connection = pymysql.connect(host='localhost', user='user', password='password', database='testdb')
    cursor = connection.cursor()
    query = "INSERT INTO products (name, price) VALUES (%s, %s)"
    product = ("Coffee", 2.99)
    cursor.execute(query, product)
    connection.commit()
    print("Prodotto inserito con successo")
    cursor.close()
    connection.close()

insert_single_record()

Esercizio 4: Inserimento Multiplo con mysql-connector-python (OOP)

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

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

    def insert_products(self):
        products = [
            ("Table", 200.00),
            ("Chair", 150.50),
            ("Lamp", 89.99)
        ]
        cursor = self.connection.cursor()
        cursor.executemany("INSERT INTO products (name, price) VALUES (%s, %s)", products)
        self.connection.commit()
        print(f"{cursor.rowcount} prodotti inseriti con successo")
        cursor.close()

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

db = MySQLDatabase()
db.insert_products()
db.close()

Esercizio 5: Inserimento Singolo con mysql-connector-python (OOP)

Creare una classe per gestire l'inserimento di dati singoli con mysql-connector-python.
import mysql.connector

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

    def insert_product(self, name, price):
        cursor = self.connection.cursor()
        cursor.execute("INSERT INTO products (name, price) VALUES (%s, %s)", (name, price))
        self.connection.commit()
        print("Prodotto inserito con successo")
        cursor.close()

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

db = ProductDatabase()
db.insert_product("Desk", 400.75)
db.close()

Esercizio 6: Inserimento Multiplo con PyMySQL (Sequenziale)

Inserire più record in una tabella utilizzando PyMySQL in modo sequenziale.
import pymysql

def insert_multiple_records():
    connection = pymysql.connect(host='localhost', user='user', password='password', database='testdb')
    cursor = connection.cursor()
    products = [
        ("Bookcase", 150.00),
        ("Armchair", 299.99),
        ("Couch", 499.95)
    ]
    cursor.executemany("INSERT INTO products (name, price) VALUES (%s, %s)", products)
    connection.commit()
    print(f"{cursor.rowcount} prodotti inseriti con successo")
    cursor.close()
    connection.close()

insert_multiple_records()

Esercizio 7: Inserimento Singolo con PyMySQL (OOP)

Creare una classe per inserire un singolo record in una tabella usando PyMySQL.
import pymysql

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

    def insert_employee(self, name, position):
        cursor = self.connection.cursor()
        cursor.execute("INSERT INTO employees (name, position) VALUES (%s, %s)", (name, position))
        self.connection.commit()
        print("Dipendente inserito con successo")
        cursor.close()

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

db = EmployeeDatabase()
db.insert_employee("Jane Doe", "Analyst")
db.close()

Esercizio 8: Inserimento Multiplo con mysql-connector-python (Sequenziale)

Scrivere uno script per inserire più record in una tabella usando mysql-connector-python in modo sequenziale.
import mysql.connector

def insert_multiple_employees():
    connection = mysql.connector.connect(host='localhost', user='user', password='password', database='testdb')
    cursor = connection.cursor()
    employees = [
        ("Mark Zulu", "Marketing"),
        ("Sally Struthers", "HR")
    ]
    cursor.executemany("INSERT INTO employees (name, position) VALUES (%s, %s)", employees)
    connection.commit()
    print(f"{cursor.rowcount} dipendenti inseriti con successo")
    cursor.close()
    connection.close()

insert_multiple_employees()

Esercizio 9: Inserimento Singolo con mysql-connector-python (Sequenziale)

Inserire un singolo record utilizzando mysql-connector-python in modo sequenziale.
import mysql.connector

def insert_single_employee():
    connection = mysql.connector.connect(host='localhost', user='user', password='password', database='testdb')
    cursor = connection.cursor()
    cursor.execute("INSERT INTO employees (name, position) VALUES (%s, %s)", ("Lisa Moneypenny", "Sales"))
    connection.commit()
    print("Dipendente inserito con successo")
    cursor.close()


    connection.close()

insert_single_employee()

Esercizio 10: Inserimento Multiplo con mysql-connector-python (OOP)

Utilizzare una classe in mysql-connector-python per gestire l'inserimento di più record.
import mysql.connector

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

    def insert_multiple(self, data):
        cursor = self.connection.cursor()
        cursor.executemany("INSERT INTO employees (name, position) VALUES (%s, %s)", data)
        self.connection.commit()
        print(f"{cursor.rowcount} record inseriti con successo")
        cursor.close()

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

data = [
    ("George Orwell", "Writer"),
    ("Aldous Huxley", "Philosopher")
]
db = MultiInsertDatabase()
db.insert_multiple(data)
db.close()