Maison >développement back-end >Tutoriel Python >Gestion des bases de données en Python : SQLite et Redis
À 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 !
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 :
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.
Comme mentionné ci-dessus, l'utilisation d'une base de données implique cinqétapes principales. Voyons ces étapes en action.
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
.
La prochaine étape du travail avec la base de données consiste à créer un curseur comme indiqué ci-dessous :
curs = conn.cursor()
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
的表,其中包含两列(字段)name
和 age
.
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)
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()
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.
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 :
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 :
Veuillez noter que nous avons répertorié des tableaux employee
,其中包含两个字段:name
和 age
.
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 :
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.
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.
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.
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.
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()
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!