Programmation serveur Python : Interagir avec les bases de données MySQL à l'aide de PyMySQL

PHPz
Libérer: 2023-06-18 14:31:54
original
1177 Les gens l'ont consulté

Python est un langage de programmation de haut niveau populaire avec de riches bibliothèques et frameworks qui peuvent être utilisés pour développer différents types d'applications. Dans le domaine de la programmation serveur, Python peut être utilisé non seulement pour développer des applications Web mais également pour interagir avec diverses bases de données.

Cet article présentera comment utiliser Python pour interagir avec la base de données MySQL. Nous utiliserons PyMySQL comme bibliothèque permettant à Python d'interagir avec MySQL.

1. Installez la bibliothèque PyMySQL

Avant d'utiliser la bibliothèque PyMySQL, vous devez d'abord l'installer. Ouvrez un terminal ou une invite de commande et entrez la commande suivante pour installer :

pip install PyMySQL
Copier après la connexion

2. Connectez-vous à la base de données MySQL

Pour nous connecter à la base de données MySQL, nous devons connaître le hôte du nom du serveur MySQL, du numéro de port, du nom d'utilisateur et du mot de passe.

On peut se connecter à la base de données MySQL en utilisant le code Python suivant :

import pymysql # 打开数据库连接 db = pymysql.connect(host='localhost', port=3306, user='root', password='', database='test') # 关闭数据库连接 db.close()
Copier après la connexion

Dans ce code, nous avons utilisé leconnect du pymysql library()pour se connecter à la base de données MySQL. Les paramètres de cette fonction incluent des informations telles que le nom d'hôte, le numéro de port, le nom d'utilisateur et le mot de passe.pymysql库的connect()函数来连接到MySQL数据库。该函数的参数包括主机名、端口号、用户名和密码等信息。

此外,我们还指定了要连接的数据库的名称,该名称是通过database参数传递的。在下面的代码中,我们将继续使用此连接。

3.创建表

在与MySQL数据库进行交互之前,我们需要创建一个表。我们可以使用以下Python代码在MySQL数据库中创建一个名为users的表:

import pymysql # 打开数据库连接 db = pymysql.connect(host='localhost', port=3306, user='root', password='', database='test') # 创建表 cursor = db.cursor() cursor.execute('DROP TABLE IF EXISTS users') sql = '''CREATE TABLE users ( id INT(11) NOT NULL AUTO_INCREMENT, name VARCHAR(20) NOT NULL, email VARCHAR(30) NOT NULL, password VARCHAR(30) NOT NULL, PRIMARY KEY (id))''' cursor.execute(sql) # 关闭数据库连接 db.close()
Copier après la connexion

在此代码中,我们定义了一个名为users的表,并定义了四个列:idnameemailpassword。其中,id是主键,使用INT数据类型,nameemail是使用VARCHAR数据类型保存的字符串,password也是使用VARCHAR数据类型保存的字符串。表的创建过程使用了MySQL的SQL语句。注意,我们还在users表中设置了自动增量列,该列将自动递增。

4.插入数据

现在,我们已经创建了users表,可以开始向该表中插入数据了。我们可以使用以下Python代码将一些数据插入到该表中:

import pymysql # 打开数据库连接 db = pymysql.connect(host='localhost', port=3306, user='root', password='', database='test') # 插入数据 cursor = db.cursor() sql = "INSERT INTO users(name, email, password) VALUES (%s, %s, %s)" values = [('Alice', 'alice@email.com', '123456'), ('Bob', 'bob@email.com', '789012'), ('Charlie', 'charlie@email.com', '345678')] cursor.executemany(sql, values) db.commit() # 关闭数据库连接 db.close()
Copier après la connexion

在此代码中,我们首先使用executemany()函数将多个数据插入到users表中。该函数的第一个参数指定要执行的SQL语句,第二个参数是一个包含要插入的数据的元组或列表。注意,我们使用了占位符%s来表示要插入的实际值。

在调用executemany()函数后,我们必须调用commit()方法使数据被保存到数据库中。

5.查询数据

要从users表中检索数据,我们可以使用以下Python代码:

import pymysql # 打开数据库连接 db = pymysql.connect(host='localhost', port=3306, user='root', password='', database='test') # 查询数据 cursor = db.cursor() sql = "SELECT * FROM users" cursor.execute(sql) results = cursor.fetchall() for row in results: id = row[0] name = row[1] email = row[2] password = row[3] print("{} - {} - {} - {}".format(id, name, email, password)) # 关闭数据库连接 db.close()
Copier après la connexion

在此代码中,我们使用SELECT语句从users表中检索所有行。然后,使用fetchall()方法获取所有检索到的行,并使用循环将每一行作为元组处理。最后,我们根据每一行的列值打印输出结果。

6.更新数据

要更新users表中的数据,我们可以使用以下Python代码:

import pymysql # 打开数据库连接 db = pymysql.connect(host='localhost', port=3306, user='root', password='', database='test') # 更新数据 cursor = db.cursor() sql = "UPDATE users SET password = %s WHERE name = %s" values = ('abcdef', 'Alice') cursor.execute(sql, values) db.commit() # 关闭数据库连接 db.close()
Copier après la connexion

在此代码中,我们使用UPDATE语句将名为Alice的用户的密码更新为abcdef。该代码使用了带参数的SQL语句,其中%s是占位符。我们还将要更新的实际值包装在元组中,然后传递给execute()函数。

7.删除数据

要从users表中删除数据,我们可以使用以下Python代码:

import pymysql # 打开数据库连接 db = pymysql.connect(host='localhost', port=3306, user='root', password='', database='test') # 删除数据 cursor = db.cursor() sql = "DELETE FROM users WHERE email = %s" value = ('bob@email.com',) cursor.execute(sql, value) db.commit() # 关闭数据库连接 db.close()
Copier après la connexion

在此代码中,我们使用DELETE语句删除电子邮件为bob@email.com的用户。

总结

在本文中,我们介绍了如何使用Python与MySQL数据库进行交互,并使用了pymysql

De plus, nous spécifions le nom de la base de données à laquelle se connecter, qui est transmis via le paramètre database. Dans le code ci-dessous, nous continuerons à utiliser cette connexion. ####3. Créer une table #### Avant d'interagir avec la base de données MySQL, nous devons créer une table. Nous pouvons créer une table nommée usersdans une base de données MySQL en utilisant le code Python suivant : ##rrreee##Dans ce code, nous définissons une table nommée users et définit quatre colonnes : id, name, emailet password. Parmi eux, idest la clé primaire, utilisant le type de données INT, et nameet emailutilisent VARCHAR Une chaîne enregistrée dans le type de données code>, passwordest également une chaîne enregistrée dans le type de données VARCHAR. Le processus de création de table utilise des instructions MySQL SQL. Notez que nous avons également mis en place une colonne d'auto-incrémentation dans la table users, qui s'incrémentera automatiquement. ####4. Insérer des données ####Maintenant que nous avons créé la table utilisateurs, nous pouvons commencer à insérer des données dans la table. Nous pouvons insérer des données dans ce tableau en utilisant le code Python suivant : ##rrreee##Dans ce code, nous insérons d'abord plusieurs données dans le tableau en utilisant le code de la fonction executemany()> table des utilisateurs. Le premier paramètre de cette fonction spécifie l'instruction SQL à exécuter et le deuxième paramètre est un tuple ou une liste contenant les données à insérer. Notez que nous utilisons l'espace réservé %spour représenter la valeur réelle à insérer. ####Après avoir appelé la fonction executemany(), nous devons appeler la méthode commit()pour enregistrer les données dans la base de données. ####5. Interroger les données #### Pour récupérer les données de la table users, on peut utiliser le code Python suivant : ##rrreee# #Dans ce code, nous utilisons l'instruction SELECTpour récupérer toutes les lignes de la table users. Ensuite, utilisez la méthode fetchall()pour obtenir toutes les lignes récupérées et utilisez une boucle pour traiter chaque ligne comme un tuple. Enfin, nous imprimons la sortie en fonction des valeurs de colonne de chaque ligne. ####6. Mettre à jour les données #### Pour mettre à jour les données dans la table users, on peut utiliser le code Python suivant : ##rrreee# #Dans ce code, nous utilisons l'instruction UPDATEpour mettre à jour le mot de passe de l'utilisateur nommé Aliceen abcdef. Ce code utilise une instruction SQL avec des paramètres, où %sest un espace réservé. Nous enveloppons également la valeur réelle à mettre à jour dans un tuple et la transmettons à la fonction execute(). ####7. Supprimer les données #### Pour supprimer les données de la table users, on peut utiliser le code Python suivant : ##rrreee# #Dans ce code, nous utilisons l'instruction DELETEpour supprimer l'utilisateur dont l'e-mail est bob@email.com. ####Summary####Dans cet article, nous avons présenté comment utiliser Python pour interagir avec la base de données MySQL et utilisé la bibliothèque pymysqlcomme interface entre Python et MySQL. Nous avons appris à nous connecter à une base de données MySQL, à créer des tables, à insérer des données, à mettre à jour des données et à supprimer des données, tâches courantes souvent impliquées lors du développement d'applications Web. En maîtrisant ces compétences, vous pouvez commencer à utiliser Python pour créer des applications serveur puissantes et interagir avec une variété de bases de données. ##

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!