Maison  >  Article  >  développement back-end  >  Gestion des bases de données en Python : SQLite et Redis

Gestion des bases de données en Python : SQLite et Redis

王林
王林original
2023-09-04 19:37:12597parcourir

À l’ère de l’information dans laquelle nous vivons, nous pouvons voir la quantité de données que le monde échange. Nous créons, stockons et récupérons essentiellement des données à grande échelle ! Il devrait y avoir un moyen de gérer tout cela – il n’y a aucun moyen que cela se propage partout sans aucune gestion, n’est-ce pas ? Il s'agit d'un système de gestion de base de données (SGBD).

Un SGBD est un système logiciel qui vous permet de créer, stocker, modifier, récupérer et autrement manipuler des données dans une base de données. La taille de ces systèmes varie également, allant des petits systèmes fonctionnant uniquement sur des ordinateurs personnels aux grands systèmes fonctionnant sur des ordinateurs centraux.

Ce tutoriel se concentre sur Python, pas sur la conception de bases de données. Oui, Python est très capable d'interagir avec les bases de données, et c'est ce que je vais vous montrer dans ce tutoriel. Vous apprendrez à utiliser les bases de données SQLite et Redis à l'aide de Python.

Commençons !

API de base de données Python

Comme mentionné ci-dessus, Python est capable d'interagir avec des bases de données. Mais comment peut-il faire cela ? Python utilise ce qu'on appelle l'API Python Database pour interagir avec les bases de données. Cette API nous permet de programmer différents systèmes de gestion de bases de données (SGBD). Cependant, le processus suivi au niveau du code est le même pour les différents SGBD comme suit :

  1. Établissez une connexion à la base de données de votre choix.
  2. Créez un curseur pour communiquer avec les données.
  3. Utilisez SQL pour manipuler les données (interactif).
  4. Indique à la connexion d'appliquer des opérations SQL aux données et de les rendre permanentes (Commit), ou de lui dire d'abandonner ces opérations (Rollback), ramenant ainsi les données à l'état dans lequel elles se trouvaient avant l'interaction.
  5. Fermerla connexion à la base de données.

SQLite

SQLite est un logiciel open source, complet, autonome (nécessite peu de support de bibliothèques externes), sans serveur (aucun serveur n'est requis pour exécuter le moteur de base de données et est une base de données stockée localement), sans configuration (aucune installation ou configuration requise ), basé sur SQL Un système de gestion de base de données léger (qui peut exécuter des requêtes SQL sur les tables SQLite) et utilise un fichier de données pour stocker les données.

Il est à noter que SQLite est utilisé par de grandes entreprises telles que Google, Apple, Microsoft, etc., ce qui le rend très fiable. Dans ce tutoriel nous utiliserons SQLite pour interagir avec une base de données, plus précisément nous utiliserons le module sqlite3 en Python.

Python et SQLite

Comme mentionné ci-dessus, l'utilisation d'une base de données implique cinqétapes principales. Voyons ces étapes en action.

1. Établissez une connexion à la base de données de votre choix

Cette étape est mise en œuvre de la manière suivante :

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

Comme indiqué dans la sqlite3 documentation :

Pour utiliser ce module, vous devez d'abord créer un Connection objet représentant la base de données.

Dans le code ci-dessus, veuillez noter que les données seront stockées dans le fichier company.db.

2. Créez un curseur pour communiquer avec les données

La prochaine étape du travail avec la base de données consiste à créer un curseur comme indiqué ci-dessous :

curs = conn.cursor()

3. Utilisez SQL pour manipuler les données

Après vous être connecté à la base de données et créé le curseur, nous pouvons maintenant traiter (interagir avec) les données. En d'autres termes, nous pouvons désormais exécuter des commandes SQL sur la base de données company.db.

Supposons que nous souhaitions créer une nouvelle table employé dans la base de données entreprise. Dans ce cas, nous devons exécuter une commande SQL. Pour ce faire, nous utiliserons la méthode execute() du module company 中创建一个新表 employee。在这种情况下,我们需要运行 SQL 命令。为此,我们将使用 sqlite3 模块的 execute(). Par conséquent, l'instruction Python ressemblera à ceci :

curs.execute('创建表员工(姓名,年龄)')

Cette instruction exécutera une commande SQL qui créera un fichier nommé employee 的表,其中包含两列(字段)nameage.

Nous pouvons maintenant exécuter une nouvelle commande SQL pour insérer des données dans le tableau comme indiqué ci-dessous :

curs.execute("插入员工值('Ali', 28)")

Vous pouvez également insérer plusieurs valeurs à la fois comme indiqué ci-dessous :

值 = [('Brad',54), ('Ross', 34), ('Muhammad', 28), ('Bilal', 44)]

Dans ce cas, nous utiliserons la méthode execute(),而不是使用方法executemany() pour effectuer les valeurs multiples ci-dessus.

curs.executemany('插入员工值(?,?)', value)

4. Soumettre les modifications

Dans cette étape, nous souhaitons appliquer (valider) les modifications que nous avons apportées à l'étape précédente. C'est simple et ça ressemble à ça :

conn.commit()

5. Fermez la connexion à la base de données

Après avoir effectué l'action et validé les modifications, la dernière étape consiste à fermer la connexion :

conn.close()

Mettons toutes les étapes dans un script. Le programme ressemblera à ceci (à noter qu'il faut d'abord importer le sqlite3 module) :

import sqlite3
conn = sqlite3.connect('company.db')
curs = conn.cursor()
curs.execute('create table employee (name, age)')
curs.execute("insert into employee values ('Ali', 28)")
values = [('Brad',54), ('Ross', 34), ('Muhammad', 28), ('Bilal', 44)]
curs.executemany('insert into employee values(?,?)', values)
conn.commit()
conn.close()

Si vous exécutez le script, vous devriez obtenir un fichier nommé company.db dans le répertoire courant. Téléchargez ce fichier car nous l'utiliserons à l'étape suivante.

6. Parcourons la base de données

Après avoir créé la base de données et les tables et ajouté quelques données, voyons ce qu'il y a à l'intérieur company.db (le fichier que vous avez téléchargé dans la section précédente). Pour cela, nous utiliserons un excellent outil : DB Browser for SQLite. Allez-y et téléchargez l’outil sur votre ordinateur. Après avoir ouvert le programme, vous devriez voir un écran comme celui-ci :

Gestion des bases de données en Python : SQLite et Redis

Ouvrez la base de données en utilisant le bouton Ouvrir la base de données en haut, dans ce cas, vous devriez obtenir la Structure de la base de données comme indiqué ci-dessous :

Gestion des bases de données en Python : SQLite et Redis

Veuillez noter que nous avons répertorié des tableaux employee,其中包含两个字段:nameage.

Pour confirmer que le code ci-dessus fonctionne et que les données ont été ajoutées au tableau, cliquez sur l'onglet Parcourir les données. Vous devriez voir quelque chose comme ceci :

Gestion des bases de données en Python : SQLite et Redis

Vous pouvez voir que la base de données (company)和表(employee) a été créée et que les données ont été ajoutées avec succès au tableau.

Redis

Remote Dictionary Server, appelé Redis, est une puissante base de données NoSQL qui peut également servir de cache en mémoire. Redis a été développé par Salvatore Sanfilippo et est actuellement maintenu par Redis Labs. Le logiciel est écrit en langage de programmation C et est open source (licence BSD).

L'une des fonctionnalités les plus remarquables de Redis est son mécanisme de stockage de structure de données. Vous pouvez stocker des données dans Redis en utilisant les mêmes types de données en Python (chaînes, ensembles, entiers, listes, dictionnaires, etc.). Cela fait de Redis un choix populaire parmi les développeurs Python.

Redis et Python

En plus de son mécanisme de stockage de structure de données, les développeurs Python préfèrent également Redis aux autres bases de données NoSQL en raison de son grand nombre de clients Python, dont le choix le plus populaire est probablement redis-py. Redis-py fournit des commandes intégrées pour stocker diverses données sur un serveur Redis.

Maintenant que nous avons une compréhension de base de Redis, apprenons à y stocker des données. Avant de continuer, assurez-vous qu'un serveur Redis est installé sur votre ordinateur.

1. Installez le client Redis.py

Tout d'abord, créez un nouveau dossier appelé redis-python pour votre script Python. Ensuite, accédez au dossier à l'aide de Command Terminal et exécutez la commande suivante pour installer le client Redis :

pip install redis

Ensuite, créez un fichier nommé app.py dans redis-python et ouvrez-le avec un éditeur de texte. L'étape suivante consiste à créer un script Python pour ajouter des données à la base de données.

2. Connectez le client Redis au serveur Redis

Tout d'abord, dans app.py, importez redis et définissez les variables pour l'hôte du serveur Redis et l'adresse du port :

import redis
redis_host = 'localhost'
redis_port = 6379

Ensuite, définissez les données à ajouter à la base de données. Dans cet exemple, nous allons créer un simple dictionnaire Python :

user = {
    'ID': 1,
    'name': 'Kingsley Ubah',
    'email': 'ubahthebuilder@gmail.com',
    'role': 'Tech Writing',
}

Ensuite, utilisez le bloc try... except 定义 add_to_db 函数。在 try 块中,我们连接到本地 Redis 服务器并将上述字典存储在数据库中,然后在控制台上输出值。如果代码失败,我们会在 except pour imprimer l'objet d'erreur. La dernière partie exécutera la fonction :

def add_to_db():
    try:
        r = redis.StrictRedis(host = redis_host, port = redis_port, decode_responses=True)
        r.hmset("newUserOne", user)
        msg = r.hgetall("newUserOne")
        print(msg)
    except Exception as e:
        print(f"Something went wrong {e}")
 
# Runs the function:
if __name__ == "__main__":
    add_to_db()

3. Démarrez le serveur et exécutez le code

Tout d'abord, exécutez le serveur Redis en exécutant la commande suivante sur le terminal de commande :

redis-cli

Une fois le serveur actif, vous pouvez exécuter le script Python à l'aide de la commande suivante :

python app.py

如果一切顺利,包含用户配置文件的字典将使用 newUserOne 键添加到 Redis。此外,您应该在终端控制台上看到以下输出:

{
  'ID': '1', 
  'name': 'Kingsley Ubah', 
  'email': 'ubahthebuilder@gmail.com', 
  'role': 'Tech Writing', 
}

这就是 Redis 的全部内容!

结论

本教程仅触及使用 Python 处理数据库的皮毛。您可以从 sqlite3 模块了解更多方法,您可以在其中执行不同的数据库操作,例如更新和查询数据库。

要了解有关 redis-py 的更多信息,请立即阅读其完整文档。玩得开心!

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn