Présentation de la création de bases de données avec Python

Python fournit plusieurs modules pour travailler avec des bases de données, notamment sqlite3, MySQLdb et psycopg2. Ces modules permettent une interaction facile avec la base de données pour stocker, récupérer et manipuler les données efficacement. Vous pouvez construire, modifier et gérer des bases de données efficacement et efficacement avec une compréhension de base du langage Python et de la syntaxe SQL.

Étapes pour la création de base de données en utilisant Python

Étape 1

Installez un adaptateur de base de données qui correspond au système de gestion de base de données que vous souhaitez utiliser. Par exemple, si vous devez utiliser SQLite, vous pouvez installer le module sqlite3. Pour MySQL, vous pouvez installer le module MySQLdb, et pour PostgreSQL, vous pouvez installer psycopg2. Dans ce tutoriel, nous allons considérer SQLite, MongoDB et MySQLdb. Pour utiliser SQLite dans votre code Python, importez le module sqlite3:

Python

 

import sqlite3

Une fois que vous avez installé le module approprié, vous devez créer une connexion à la base de données, qui sert de pont entre le code Python et la base de données, vous permettant d’envoyer des commandes et de recevoir des résultats. Par exemple, dans SQLite, vous pouvez créer une connexion en utilisant le code suivant. 

Pour un exemple d’une base de données appelée school.db, vous vous connectez comme indiqué dans le code ci-dessous:

Python

 

conn = sqlite3.connect('school.db')

Étape 2

Créez des tables dans la base de données. Pour créer des tables dans une base de données, vous devrez écrire des instructions SQL en utilisant l’objet curseur obtenu à partir de la connexion. Par exemple, pour créer une table nommée « employees » avec des colonnes « id », « username », « salary », « department » et « email », vous utilisez le code suivant :

Python

 

conn = sqlite3.connect('school.db')

cursor = conn.cursor()



cursor.execute('''

CREATE TABLE employees (

  id INTEGER PRIMARY KEY,

  username TEXT,

  email,

  salary REAL,

  department TEXT

)

''')

Étape 3

Insérez, mettez à jour et récupérez des données à partir de la base de données en utilisant des commandes SQL et l’objet curseur. Pour ajouter des données aux tables, vous pouvez utiliser l’instruction SQL « INSERT INTO ». Enregistrez les données en utilisant la méthode `commit()`. Par exemple, le code suivant insère des données dans la table « employees » :

Python

 

conn = sqlite3.connect('school.db')

cursor = conn.cursor()



cursor.execute("INSERT INTO employees (username, email, salary, department) VALUES ('Joseph', 'joseph@gmail,com' 70000, 'IT')")



conn.commit()

Étape 4

Récupérez des données à partir des tables. Pour récupérer des données à partir des tables, vous pouvez utiliser l’instruction SQL « SELECT ». Par exemple, pour récupérer tous les utilisateurs de la table « users », vous pouvez utiliser le code suivant :

Python

 

cursor.execute("SELECT * FROM employees")
rows = cursor.fetchall()
for row in rows:

    print(row)

Étape 5

Créez des vues en exécutant une instruction CREATE VIEW, et utilisez la méthode `execute()` de l’objet curseur pour exécuter une instruction CREATE VIEW.

Python

 

# Exécutez l'instruction CREATE VIEW
cursor.execute('''

CREATE VIEW employees_view AS

SELECT name, age, department, email, FROM employees;

''')

Étape 6 

Fermez la connexion. Une fois que vous avez terminé de travailler avec la base de données, il est important de fermer la connexion pour libérer les ressources. Vous pouvez fermer la connexion en utilisant la méthode close() de l’objet connexion. Par exemple :

Python

 

conn.commit()
conn.close()

Exemple pour MySQLdb

Pour créer une base de données avec MySQLdb, importez le module MYSQLdb et connectez-vous à la base de données en utilisant la méthode `connect()`. Vous pouvez créer un curseur et l’utiliser pour exécuter des commandes SQL. La méthode `execute()` est utilisée pour créer une table et insérer des données dedans. Après avoir validé les modifications, nous utilisons le curseur pour sélectionner des données dans la table et récupérer toutes les données en utilisant la méthode `fetchall()`. Et enfin, fermez le curseur et la connexion à la base de données.

Python

 

import MySQLdb

# Se connecter à la base de données

conn = MySQLdb.connect(host="localhost", user="std", passwd="@12343!J", db="school.db")
# Créer un curseur pour exécuter des commandes SQL

cursor = conn.cursor()
# Créer une table

cursor.execute("""

CREATE TABLE employees (

  id INT AUTO_INCREMENT PRIMARY KEY,

  name VARCHAR(255),

  salary DECIMAL(10,2),

  department VARCHAR(255)

)

""")
# Insérer des données dans la table

cursor.execute("""

INSERT INTO employees (name, salary, department)

VALUES

    ("Joseph", 70000, "IT"),

    ("Jane", 80000, "Marketing")

""")
# Valider les modifications dans la base de données

conn.commit()
# Sélectionner des données dans la table

cursor.execute("SELECT * FROM employees")



# Récupérer toutes les données

employees = cursor.fetchall()
# Afficher les données

for employee in employees:

    print(employee)
# Fermer le curseur et la connexion

cursor.close()

conn.close()

Exemple pour MongoDB

Importez le module pymongo et connectez-vous à la base de données en utilisant la classe `MongoClient()`. Vous obtenez alors une référence à la base de données et à la collection, équivalente à une table en SQL. La méthode `insert_many()` est utilisée pour insérer des données dans la collection. La méthode `find()` est utilisée pour interroger des données à partir de la collection, et les données sont récupérées à l’aide d’une boucle for. Et enfin, fermez la connexion à la base de données en utilisant la méthode `close()`.

Python

 

from pymongo import MongoClient
# Se connecter à la base de données

client = MongoClient("mongodb://localhost:27017/")
# Obtenir une référence à la base de données

db = client["school.db"]
# Obtenir une référence à la collection (équivalente à une table en SQL)

collection = db["employees"]



# Insérer des données dans la collection

employee1 = { "name": "Joseph", "salary": 70000, "department": "IT" }

employee2 = { "name": "Jane", "salary": 80000, "department": "Marketing" }

collection.insert_many([employee1, employee2])
# Interroger des données à partir de la collection

employees = collection.find()
# Afficher les données

for employee in employees:

    print(employee)
# Fermer la connexion
client.close()

Conclusion

En conclusion, Python offre plusieurs modules pour interagir avec différentes bases de données, telles que MySQL et MongoDB. Le module MySQLdb est utilisé pour interagir avec une base de données MySQL, et le module pymongo est utilisé pour interagir avec une base de données MongoDB. Les deux modules facilitent la tâche des développeurs pour effectuer des opérations courantes sur les bases de données, telles que la création de tables, l’insertion de données, la requête de données, et bien plus encore. Grâce à la simplicité et à la facilité d’utilisation de Python, il est devenu une option populaire pour le développement d’applications pilotées par des bases de données. Que vous soyez débutant ou développeur expérimenté, l’utilisation de ces modules rendra le travail avec les bases de données en Python un jeu d’enfant.

Source:
https://dzone.com/articles/an-overview-of-creating-databases-with-python-2