Come connettere Python ai database SQL

La connessione di Python ai database SQL consente di interagire con i database direttamente dai tuoi script Python. Questa capacità è essenziale per attività quali il recupero dati, gli aggiornamenti e l'analisi. In questo articolo, esploreremo come connettere Python ai database SQL utilizzando librerie popolari come SQLite, MySQL e PostgreSQL.

Impostazione dell'ambiente

Per connettere Python ai database SQL, devi installare le librerie di connessione database appropriate. Ecco le librerie comuni per diversi database:

  • SQLite: Non è richiesta alcuna installazione aggiuntiva poiché il supporto SQLite è integrato in Python.
  • MySQL: Utilizzare la libreria mysql-connector-python o PyMySQL.
  • PostgreSQL: Utilizza la libreria psycopg2.

Connessione a un database SQLite

SQLite è un database leggero che è integrato nella libreria standard di Python. Ecco come connettersi a un database SQLite ed eseguire operazioni di base:

import sqlite3

# Connect to an SQLite database (or create it if it doesn't exist)
conn = sqlite3.connect('example.db')

# Create a cursor object
cursor = conn.cursor()

# Create a table
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
    id INTEGER PRIMARY KEY,
    name TEXT NOT NULL,
    age INTEGER
)
''')

# Insert data into the table
cursor.execute('''
INSERT INTO users (name, age)
VALUES ('Alice', 30)
''')

# Commit the transaction
conn.commit()

# Query the database
cursor.execute('SELECT * FROM users')
print(cursor.fetchall())  # Output: [(1, 'Alice', 30)]

# Close the connection
conn.close()

Connessione a un database MySQL

Per connetterti a un database MySQL, dovrai installare la libreria mysql-connector-python. Puoi installarla usando pip:

pip install mysql-connector-python

Ecco un esempio di connessione a un database MySQL ed esecuzione di operazioni di base:

import mysql.connector

# Connect to a MySQL database
conn = mysql.connector.connect(
    host='localhost',
    user='yourusername',
    password='yourpassword',
    database='testdb'
)

# Create a cursor object
cursor = conn.cursor()

# Create a table
cursor.execute('''
CREATE TABLE IF NOT EXISTS employees (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    position VARCHAR(255)
)
''')

# Insert data into the table
cursor.execute('''
INSERT INTO employees (name, position)
VALUES ('Bob', 'Engineer')
''')

# Commit the transaction
conn.commit()

# Query the database
cursor.execute('SELECT * FROM employees')
print(cursor.fetchall())  # Output: [(1, 'Bob', 'Engineer')]

# Close the connection
conn.close()

Connessione a un database PostgreSQL

Per connetterti a un database PostgreSQL, hai bisogno della libreria psycopg2. Installala usando pip:

pip install psycopg2

Ecco un esempio di connessione a un database PostgreSQL ed esecuzione di operazioni di base:

import psycopg2

# Connect to a PostgreSQL database
conn = psycopg2.connect(
    dbname='testdb',
    user='yourusername',
    password='yourpassword',
    host='localhost'
)

# Create a cursor object
cursor = conn.cursor()

# Create a table
cursor.execute('''
CREATE TABLE IF NOT EXISTS products (
    id SERIAL PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    price DECIMAL
)
''')

# Insert data into the table
cursor.execute('''
INSERT INTO products (name, price)
VALUES ('Laptop', 999.99)
''')

# Commit the transaction
conn.commit()

# Query the database
cursor.execute('SELECT * FROM products')
print(cursor.fetchall())  # Output: [(1, 'Laptop', 999.99)]

# Close the connection
conn.close()

Conclusione

Collegare Python ai database SQL è un'abilità fondamentale per qualsiasi applicazione basata sui dati. Utilizzando librerie come sqlite3, mysql-connector-python e psycopg2, puoi interagire facilmente con vari database. Comprendere come eseguire operazioni di base come la creazione di tabelle, l'inserimento di dati e l'interrogazione di database ti consentirà di gestire e manipolare i tuoi dati in modo efficace.