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