Comment connecter Python aux bases de données SQL

La connexion de Python aux bases de données SQL vous permet d'interagir avec les bases de données directement à partir de vos scripts Python. Cette capacité est essentielle pour des tâches telles que la récupération, la mise à jour et l'analyse des données. Dans cet article, nous verrons comment connecter Python aux bases de données SQL à l'aide de bibliothèques populaires telles que SQLite, MySQL et PostgreSQL.

Configuration de votre environnement

Pour connecter Python aux bases de données SQL, vous devez installer les bibliothèques de connecteurs de base de données appropriées. Voici les bibliothèques courantes pour différentes bases de données:

  • SQLite: Aucune installation supplémentaire n'est nécessaire car la prise en charge de SQLite est intégrée à Python.
  • MySQL: Utilisez la bibliothèque mysql-connector-python ou PyMySQL.
  • PostgreSQL: Utilisez la bibliothèque psycopg2.

Connexion à une base de données SQLite

SQLite est une base de données légère intégrée à la bibliothèque standard de Python. Voici comment se connecter à une base de données SQLite et effectuer des opérations de 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()

Connexion à une base de données MySQL

Pour vous connecter à une base de données MySQL, vous devez installer la bibliothèque mysql-connector-python. Vous pouvez l'installer en utilisant pip:

pip install mysql-connector-python

Voici un exemple de connexion à une base de données MySQL et d’exécution d’opérations de 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()

Connexion à une base de données PostgreSQL

Pour vous connecter à une base de données PostgreSQL, vous avez besoin de la bibliothèque psycopg2. Installez-la en utilisant pip:

pip install psycopg2

Voici un exemple de connexion à une base de données PostgreSQL et d'exécution d'opérations de 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()

Conclusion

La connexion de Python aux bases de données SQL est une compétence fondamentale pour toute application pilotée par les données. En utilisant des bibliothèques telles que sqlite3, mysql-connector-python et psycopg2, vous pouvez facilement interagir avec diverses bases de données. Comprendre comment effectuer des opérations de base telles que la création de tables, l'insertion de données et l'interrogation de bases de données vous permettra de gérer et de manipuler vos données efficacement.