


Explication détaillée d'exemples d'opérations de données Python sur MySQL
Cet article présente Python3 pour utiliser PyMySQL pour se connecter à la base de données et implémenter des ajouts, suppressions, modifications et requêtes simples. A une très bonne valeur de référence. Jetons un coup d'œil avec l'éditeur ci-dessous
Cet article présente Python3 pour utiliser PyMySQL pour se connecter à la base de données et implémenter des ajouts, suppressions, modifications et requêtes simples.
Qu'est-ce que PyMySQL ?
PyMySQL est une bibliothèque utilisée pour se connecter au serveur MySQL dans Python 3.x, et mysqldb est utilisé dans Python 2.x.
Installation de PyMySQL
Avant d'utiliser PyMySQL, nous devons nous assurer que PyMySQL est installé.
Adresse de téléchargement PyMySQL : https://github.com/PyMySQL/PyMySQL.
S'il n'est pas encore installé, nous pouvons utiliser la commande suivante pour installer la dernière version de PyMySQL :
$ pip install PyMySQL
Si votre système ne prend pas en charge le pip commande, vous pouvez utiliser la méthode d'installation suivante :
1. Utilisez la commande git pour télécharger le package d'installation et l'installer (vous pouvez également le télécharger manuellement) :
$ git clone https://github.com/PyMySQL/PyMySQL $ cd PyMySQL $ python3 setup.py install
2. Si vous devez spécifier un numéro de version, vous pouvez utiliser la commande curl pour installer :
$ # X.X 为PyMySQL 的版本号 $ curl -L https://github.com/PyMySQL/PyMySQL/tarball/pymysql-X.X | tar xz $ cd PyMySQL* $ python3 setup.py install
Remarque : Veuillez vous assurer que vous disposez des privilèges root pour installer les modules ci-dessus.
Connexion à la base de données
Avant de vous connecter à la base de données, veuillez confirmer les points suivants :
Vous avez créé la base de données TESTDB
Dans la base de données TESTDB vous avez créé la table EMPLOYEE
Les champs de la table EMPLOYEE sont FIRST_NAME, LAST_NAME, AGE, SEX et REVENU
Le nom d'utilisateur utilisé pour se connecter à la base de données TESTDB est "testuser" et le mot de passe est "test123". Vous pouvez le définir vous-même ou utiliser directement le nom d'utilisateur et le mot de passe root pour l'autorisation de l'utilisateur de la base de données Mysql. , veuillez utiliser la commande Grant
Le module PyMySQL a été installé sur votre machine
Exemple :
L'exemple suivant renvoie à la base de données Mysql TESTDB :
#!/usr/bin/python3 __author__ = 'mayi' import pymysql # 打开数据库连接 db = pymysql.connect("localhost","testuser","test123","TESTDB" ) # 使用 cursor() 方法创建一个游标对象 cursor cursor = db.cursor() # 使用 execute() 方法执行 SQL 查询 cursor.execute("SELECT VERSION()") # 使用 fetchone() 方法获取单条数据. data = cursor.fetchone() print ("Database version : %s " % data) # 关闭数据库连接 db.close()
Créer une table de base de données
Si la connexion à la base de données existe, nous pouvons utiliser la méthodeexecute() pour créez une table pour la base de données, créez la table EMPLOYEE comme suit :
#!/usr/bin/python3 __author__ = 'mayi' import pymysql # 开数据库连接 db = pymysql.connect("localhost","testuser","test123","TESTDB" ) # 使用 cursor() 方法创建一个游标对象 cursor cursor = db.cursor() # 使用 execute() 方法执行 SQL,如果表存在则删除 cursor.execute("DROP TABLE IF EXISTS EMPLOYEE") # 使用预处理语句创建表 sql = """CREATE TABLE EMPLOYEE ( FIRST_NAME CHAR(20) NOT NULL, LAST_NAME CHAR(20), AGE INT, SEX CHAR(1), INCOME FLOAT )""" cursor.execute(sql) # 关闭数据库连接 db.close()
Opération d'insertion de base de données
L'exemple suivant utilise l'instruction SQL Insert pour insérer des enregistrements dans le table EMPLOYÉ :
#!/usr/bin/python3 __author__ = 'mayi' import pymysql # 打开数据库连接 db = pymysql.connect("localhost","testuser","test123","TESTDB" ) # 使用cursor()方法获取操作游标 cursor = db.cursor() # SQL 插入语句 sql = """INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) VALUES ('Mac', 'Mohan', 20, 'M', 2000)""" try: # 执行sql语句 cursor.execute(sql) # 提交到数据库执行 db.commit() except: # 如果发生错误则回滚 db.rollback() # 关闭数据库连接 db.close()
L'exemple ci-dessus également Il peut être écrit sous la forme suivante :
#!/usr/bin/python3 __author__ = 'mayi' import pymysql # 打开数据库连接 db = pymysql.connect("localhost","testuser","test123","TESTDB" ) # 使用cursor()方法获取操作游标 cursor = db.cursor() # SQL 插入语句 sql = "INSERT INTO EMPLOYEE(FIRST_NAME, \ LAST_NAME, AGE, SEX, INCOME) \ VALUES ('%s', '%s', '%d', '%c', '%d' )" % \ ('Mac', 'Mohan', 20, 'M', 2000) try: # 执行sql语句 cursor.execute(sql) # 执行sql语句 db.commit() except: # 发生错误时回滚 db.rollback() # 关闭数据库连接 db.close()
Opération de requête de base de données
Python La requête Mysql utilise la méthode fetchone() pour obtenir une seule donnée et utilise la méthode fetchall() pour obtenir plusieurs données.
fetchone() : Cette méthode obtient le jeu de résultats de requête suivant. L'ensemble de résultats est un objet
fetchall() : reçoit toutes les lignes de résultats renvoyées
rowcount : il s'agit d'un attribut en lecture seule et renvoie Nombre de lignes affectées après l'exécution de la méthode execute()
Exemple :
Interrogez toutes les données de la table EMPLOYEE dont le champ salaire est supérieur à 1000 :
#!/usr/bin/python3 __author__ = 'mayi' import pymysql # 打开数据库连接 db = pymysql.connect("localhost","testuser","test123","TESTDB" ) # 使用cursor()方法获取操作游标 cursor = db.cursor() # SQL 查询语句 sql = "SELECT * FROM EMPLOYEE \ WHERE INCOME > '%d'" % (1000) try: # 执行SQL语句 cursor.execute(sql) # 获取所有记录列表 results = cursor.fetchall() for row in results: fname = row[0] lname = row[1] age = row[2] sex = row[3] income = row[4] # 打印结果 print ("fname=%s,lname=%s,age=%d,sex=%s,income=%d" % \ (fname, lname, age, sex, income )) except: print ("Error: unable to fecth data") # 关闭数据库连接 db.close()
Opération de mise à jour de la base de données
L'opération de mise à jour est utilisée pour mettre à jour les données de la table de données. L'exemple suivant modifie tous les champs SEX de la table de données. table TESTDB à 'M' , le champ AGE est incrémenté de 1 :
#!/usr/bin/python3 __author__ = 'mayi' import pymysql # 打开数据库连接 db = pymysql.connect("localhost","testuser","test123","TESTDB" ) # 使用cursor()方法获取操作游标 cursor = db.cursor() # SQL 更新语句 sql = "UPDATE EMPLOYEE SET AGE = AGE + 1 WHERE SEX = '%c'" % ('M') try: # 执行SQL语句 cursor.execute(sql) # 提交到数据库执行 db.commit() except: # 发生错误时回滚 db.rollback() # 关闭数据库连接 db.close()
Opération de suppression
L'opération de suppression permet de supprimer des données dans la table de données . L'exemple suivant montre la suppression de AGE dans la table de données EMPLOYEE Toutes les données supérieures à 20 :
#!/usr/bin/python3 __author__ = 'mayi' import pymysql # 打开数据库连接 db = pymysql.connect("localhost","testuser","test123","TESTDB" ) # 使用cursor()方法获取操作游标 cursor = db.cursor() # SQL 删除语句 sql = "DELETE FROM EMPLOYEE WHERE AGE > '%d'" % (20) try: # 执行SQL语句 cursor.execute(sql) # 提交修改 db.commit() except: # 发生错误时回滚 db.rollback() # 关闭连接 db.close()
Exécuter les transactions
Le mécanisme de transaction peut garantir la cohérence des données.
Les transactions doivent avoir 4 attributs : l'atomicité, la cohérence, l'isolement et la durabilité. Ces quatre propriétés sont souvent appelées propriétés ACIDE.
Atomicité. Une transaction est une unité de travail indivisible. Toutes les opérations incluses dans la transaction sont soit effectuées, soit aucune.
Cohérence. Une transaction doit faire passer la base de données d'un état de cohérence à un autre. La cohérence et l'atomicité sont étroitement liées.
Isolement. L'exécution d'une transaction ne peut être perturbée par d'autres transactions. Autrement dit, les opérations et les données utilisées dans une transaction sont isolées des autres transactions simultanées et les transactions exécutées simultanément ne peuvent pas interférer les unes avec les autres.
Durabilité. La continuité, également connue sous le nom de permanence, signifie qu'une fois qu'une transaction est validée, les modifications apportées aux données de la base de données doivent être permanentes. Les opérations ou pannes ultérieures ne devraient avoir aucun impact sur celui-ci.
Instance
# SQL删除记录语句 sql = "DELETE FROM EMPLOYEE WHERE AGE > '%d'" % (20) try: # 执行SQL语句 cursor.execute(sql) # 向数据库提交 db.commit() except: # 发生错误时回滚 db.rollback()
Pour les bases de données prenant en charge les transactions, dans la programmation de bases de données Python, lorsque le curseur est créé, il démarre automatiquement Un invisible transaction de base de données.
La méthode commit() effectue toutes les opérations de mise à jour sur le curseur et la méthode rollback() annule toutes les opérations sur le curseur actuel. Chaque méthode démarre une nouvelle transaction.
Gestion des erreurs
异常 | 描述 |
Warning | 当有严重警告时触发,例如插入数据是被截断等等。必须是StandardError的子类。 |
Error | 警告以外所有其他错误类。必须是StandardError的子类。 |
InterfaceError | 当有数据库接口模块本身的错误(而不是数据库的错误)发生时触发。必须是Error的子类。 |
DatabaseError | 和数据库有关的错误发生时触发。必须是Error的子类。 |
DataError | 当有数据处理时的错误发生时触发,例如:除零错误,数据超范围等等。必须是DatabaseError的子类。 |
OperationalError | 指非用户控制的,而是操作数据库时发生的错误。例如:连接意外断开、数据库名未找到、事务处理失败、内存分配错误等等操作数据库是发生的错误。必须是DatabaseError的子类。 |
IntegrityError | 完整性相关的错误,例如外键检查失败等。必须是DatabaseError子类。 |
InternamError | 数据库的内部错误,例如游标(cursor)失效了、事务同步失败等等。必须是DatabaseError子类。 |
ProgrammingError | 程序错误,例如数据表(table)没找到或已存在、SQL语句语法错误、参数数量错误等等。必须是DatabaseError的子类。 |
NotSupportedError | 不支持错误,指使用了数据库不支持的函数或API等。例如在连接对象上使用rollback()函数,然而数据库并不支持事务或者事务已关闭。必须是DatabaseError的子类。 |
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

PHP est principalement la programmation procédurale, mais prend également en charge la programmation orientée objet (POO); Python prend en charge une variété de paradigmes, y compris la POO, la programmation fonctionnelle et procédurale. PHP convient au développement Web, et Python convient à une variété d'applications telles que l'analyse des données et l'apprentissage automatique.

PHP convient au développement Web et au prototypage rapide, et Python convient à la science des données et à l'apprentissage automatique. 1.Php est utilisé pour le développement Web dynamique, avec une syntaxe simple et adapté pour un développement rapide. 2. Python a une syntaxe concise, convient à plusieurs champs et a un écosystème de bibliothèque solide.

Le rôle principal de MySQL dans les applications Web est de stocker et de gérer les données. 1.MySQL traite efficacement les informations utilisateur, les catalogues de produits, les enregistrements de transaction et autres données. 2. Grâce à SQL Query, les développeurs peuvent extraire des informations de la base de données pour générer du contenu dynamique. 3.MySQL fonctionne basé sur le modèle client-serveur pour assurer une vitesse de requête acceptable.

Laravel est un cadre PHP pour la création facile des applications Web. Il fournit une gamme de fonctionnalités puissantes, notamment: Installation: Installez le Laravel CLI globalement avec Composer et créez des applications dans le répertoire du projet. Routage: définissez la relation entre l'URL et le gestionnaire dans Routes / web.php. Voir: Créez une vue dans les ressources / vues pour rendre l'interface de l'application. Intégration de la base de données: fournit une intégration prête à l'emploi avec des bases de données telles que MySQL et utilise la migration pour créer et modifier des tables. Modèle et contrôleur: le modèle représente l'entité de la base de données et le contrôleur traite les demandes HTTP.

PHP est originaire en 1994 et a été développé par Rasmuslerdorf. Il a été utilisé à l'origine pour suivre les visiteurs du site Web et a progressivement évolué en un langage de script côté serveur et a été largement utilisé dans le développement Web. Python a été développé par Guidovan Rossum à la fin des années 1980 et a été publié pour la première fois en 1991. Il met l'accent sur la lisibilité et la simplicité du code, et convient à l'informatique scientifique, à l'analyse des données et à d'autres domaines.

L'exécution du code Python dans le bloc-notes nécessite l'installation du plug-in exécutable Python et du plug-in NPEXEC. Après avoir installé Python et ajouté un chemin à lui, configurez la commande "python" et le paramètre "{current_directory} {file_name}" dans le plug-in nppexec pour exécuter le code python via la touche de raccourci "F6" dans le bloc-notes.

J'ai rencontré un problème délicat lors du développement d'une petite application: la nécessité d'intégrer rapidement une bibliothèque d'opération de base de données légère. Après avoir essayé plusieurs bibliothèques, j'ai constaté qu'ils avaient trop de fonctionnalités ou ne sont pas très compatibles. Finalement, j'ai trouvé Minii / DB, une version simplifiée basée sur YII2 qui a parfaitement résolu mon problème.

Golang et Python ont chacun leurs propres avantages: Golang convient aux performances élevées et à la programmation simultanée, tandis que Python convient à la science des données et au développement Web. Golang est connu pour son modèle de concurrence et ses performances efficaces, tandis que Python est connu pour sa syntaxe concise et son écosystème de bibliothèque riche.
