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 efficacement les données. Vous pouvez construire, modifier et gérer des bases de données de manière efficace et efficiente avec une compréhension de base du langage Python et de la syntaxe SQL.
Étapes pour la création de base de données à l’aide de Python
Étape 1
Installez un adaptateur de base de données correspondant au système de gestion de base de données que vous souhaitez utiliser. Par exemple, si vous utilisez 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 considérerons SQLite, MongoDB et MySQLdb. Pour utiliser SQLite dans votre code Python, importez le module 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 à l’aide du code suivant.
Pour un exemple de base de données appelée school.db, vous vous connectez comme indiqué dans le code ci-dessous :
conn = sqlite3.connect('school.db')
Étape 2
Créer 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 à l’aide de l’objet curseur obtenu à partir de la connexion. Par exemple, pour créer une table nommée « employés » avec les colonnes « id », « nom d’utilisateur », salaire, département et « email », vous utilisez le code suivant :
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 de la base de données à l’aide de commandes SQL et de 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 « employés » :
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érer les données des tables. Pour récupérer les données 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 :
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 le `exécuter()` méthode de l’objet curseur pour exécuter une instruction CREATE VIEW.
# Execute the CREATE VIEW statement
cursor.execute('''
CREATE VIEW employees_view AS
SELECT name, age, department, email, FROM employees;
''')
Étape 6
Fermez la connexion. Une fois que vous avez fini 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 de connexion. Par exemple:
conn.commit()
conn.close()
Exemple pour MySQLdb
Pour créer une base de données dans MySQLdb, importez le module MYSQLdb et connectez-vous à la base de données à l’aide de 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 y insérer des données. Après avoir validé les modifications, nous utilisons le curseur pour sélectionner les données de la table et récupérer toutes les données à l’aide de la méthode `fetchall()`. Et enfin, fermez le curseur et la connexion à la base de données.
import MySQLdb
# Connect to the database
conn = MySQLdb.connect(host="localhost", user="std", passwd="@12343!J", db="school.db")
# Create a cursor to execute SQL commands
cursor = conn.cursor()
# Create a table
cursor.execute("""
CREATE TABLE employees (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255),
salary DECIMAL(10,2),
department VARCHAR(255)
)
""")
# Insert data into the table
cursor.execute("""
INSERT INTO employees (name, salary, department)
VALUES
("Joseph", 70000, "IT"),
("Jane", 80000, "Marketing")
""")
# Commit the changes to the database
conn.commit()
# Select data from the table
cursor.execute("SELECT * FROM employees")
# Fetch all the data
employees = cursor.fetchall()
# Print the data
for employee in employees:
print(employee)
# Close the cursor and connection
cursor.close()
conn.close()
Exemple pour MongoDB
Importez le module pymongo et connectez-vous à la base de données à l’aide de 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 `inser _many()` est utilisée pour insérer des données dans la collection. La méthode `find()` est utilisée pour interroger les données 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()`.
from pymongo import MongoClient
# Connect to the database
client = MongoClient("mongodb://localhost:27017/")
# Get a reference to the database
db = client["school.db"]
# Get a reference to the collection (equivalent to a table in SQL)
collection = db["employees"]
# Insert data into the collection
employee1 = { "name": "Joseph", "salary": 70000, "department": "IT" }
employee2 = { "name": "Jane", "salary": 80000, "department": "Marketing" }
collection.insert_many([employee1, employee2])
# Query data from the collection
employees = collection.find()
# Print the data
for employee in employees:
print(employee)
# Close the connection
client.close()
Conclusion
En conclusion, Python fournit 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 permettent aux développeurs d’effectuer facilement des opérations de base de données courantes telles que la création de tables, l’insertion de données, l’interrogation de données, etc. Grâce à la simplicité et à la facilité d’utilisation de Python, il est devenu un choix populaire pour le développement d’applications basées sur des bases de données. Que vous soyez un développeur débutant ou expérimenté, l’utilisation de ces modules facilitera le travail avec les bases de données en Python.