Esercizi Inserimento MySQL Python
Codegrind Team•Jul 10 2024
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()