


Trois méthodes Python pour faire fonctionner la base de données MySQL
Cet article présente principalement trois méthodes Python pour faire fonctionner la base de données MySQL. L'éditeur pense que c'est plutôt bon, je vais donc le partager avec vous maintenant et le donner comme référence. Suivons l'éditeur et jetons un coup d'œil
1 L'utilisation de MySQLdb
(1) Qu'est-ce que MySQLdb ?
MySQLdb est une interface permettant à Python de se connecter à la base de données MySQL. Il implémente la spécification de l'API de la base de données Python. V2.0, construit sur API MySQL C.
(2) Installation du code sourceMySQLdb : https://pypi.python.org/pypi/MySQL-python
$ tar zxvf MySQL-python-*.tar.gz $ cd MySQL-python-* $ python setup.py build $ python setup.py install
(3) Utilisation de MySQLdb de :
#!/usr/bin/env python # coding=utf-8 import MySQLdbdef connectdb(): print('连接到mysql服务器...') # 打开数据库连接 # 用户名:hp, 密码:Hp12345.,用户名和密码需要改成你自己的mysql用户名和密码,并且要创建数据库TESTDB,并在TESTDB数据库中创建好表Student db = MySQLdb.connect("localhost","hp","Hp12345.","TESTDB") print('连接上了!') return db def createtable(db): # 使用cursor()方法获取操作游标 cursor = db.cursor() # 如果存在表Sutdent先删除 cursor.execute("DROP TABLE IF EXISTS Student") sql = """CREATE TABLE Student ( ID CHAR(10) NOT NULL, Name CHAR(8), Grade INT )""" # 创建Sutdent表 cursor.execute(sql) def insertdb(db): # 使用cursor()方法获取操作游标 cursor = db.cursor() # SQL 插入语句 sql = """INSERT INTO Student VALUES ('001', 'CZQ', 70), ('002', 'LHQ', 80), ('003', 'MQ', 90), ('004', 'WH', 80), ('005', 'HP', 70), ('006', 'YF', 66), ('007', 'TEST', 100)""" #sql = "INSERT INTO Student(ID, Name, Grade) \ # VALUES ('%s', '%s', '%d')" % \ # ('001', 'HP', 60) try: # 执行sql语句 cursor.execute(sql) # 提交到数据库执行 db.commit() except: # Rollback in case there is any error print '插入数据失败!' db.rollback()def querydb(db): # 使用cursor()方法获取操作游标 cursor = db.cursor() # SQL 查询语句 #sql = "SELECT * FROM Student \ # WHERE Grade > '%d'" % (80) sql = "SELECT * FROM Student" try: # 执行SQL语句 cursor.execute(sql) # 获取所有记录列表 results = cursor.fetchall() for row in results: ID = row[0] Name = row[1] Grade = row[2] # 打印结果 print "ID: %s, Name: %s, Grade: %d" % \ (ID, Name, Grade) except: print "Error: unable to fecth data"def deletedb(db): # 使用cursor()方法获取操作游标 cursor = db.cursor() # SQL 删除语句 sql = "DELETE FROM Student WHERE Grade = '%d'" % (100) try: # 执行SQL语句 cursor.execute(sql) # 提交修改 db.commit() except: print '删除数据失败!' # 发生错误时回滚 db.rollback()def updatedb(db): # 使用cursor()方法获取操作游标 cursor = db.cursor() # SQL 更新语句 sql = "UPDATE Student SET Grade = Grade + 3 WHERE ID = '%s'" % ('003') try: # 执行SQL语句 cursor.execute(sql) # 提交到数据库执行 db.commit() except: print '更新数据失败!' # 发生错误时回滚 db.rollback()def closedb(db): db.close()def main(): db = connectdb() # 连接MySQL数据库 createtable(db) # 创建表 insertdb(db) # 插入数据 print '\n插入数据后:' querydb(db) deletedb(db) # 删除数据 print '\n删除数据后:' querydb(db) updatedb(db) # 更新数据 print '\n更新数据后:' querydb(db) closedb(db) # 关闭数据库if __name__ == '__main__': main()
Résultats d'exécution :
2. Utilisation de PyMySQL
(1) Qu'est-ce que PyMySQL ?
PyMySQL est une bibliothèque en Python utilisée pour se connecter au serveur MySQL Elle suit l'API de la base de données Python. spécification V2 .0, et inclut la bibliothèque client pur-Python MySQL.
(2) Installez PyMysql :
pip install PyMysql
(3) Utilisez PyMySQL:
#!/usr/bin/env python# coding=utf-8import pymysqldef connectdb(): print('连接到mysql服务器...') # 打开数据库连接 # 用户名:hp, 密码:Hp12345.,用户名和密码需要改成你自己的mysql用户名和密码,并且要创建数据库TESTDB,并在TESTDB数据库中创建好表Student db = pymysql.connect("localhost","hp","Hp12345.","TESTDB") print('连接上了!') return dbdef createtable(db): # 使用cursor()方法获取操作游标 cursor = db.cursor() # 如果存在表Sutdent先删除 cursor.execute("DROP TABLE IF EXISTS Student") sql = """CREATE TABLE Student ( ID CHAR(10) NOT NULL, Name CHAR(8), Grade INT )""" # 创建Sutdent表 cursor.execute(sql)def insertdb(db): # 使用cursor()方法获取操作游标 cursor = db.cursor() # SQL 插入语句 sql = """INSERT INTO Student VALUES ('001', 'CZQ', 70), ('002', 'LHQ', 80), ('003', 'MQ', 90), ('004', 'WH', 80), ('005', 'HP', 70), ('006', 'YF', 66), ('007', 'TEST', 100)""" #sql = "INSERT INTO Student(ID, Name, Grade) \ # VALUES ('%s', '%s', '%d')" % \ # ('001', 'HP', 60) try: # 执行sql语句 cursor.execute(sql) # 提交到数据库执行 db.commit() except: # Rollback in case there is any error print '插入数据失败!' db.rollback()def querydb(db): # 使用cursor()方法获取操作游标 cursor = db.cursor() # SQL 查询语句 #sql = "SELECT * FROM Student \ # WHERE Grade > '%d'" % (80) sql = "SELECT * FROM Student" try: # 执行SQL语句 cursor.execute(sql) # 获取所有记录列表 results = cursor.fetchall() for row in results: ID = row[0] Name = row[1] Grade = row[2] # 打印结果 print "ID: %s, Name: %s, Grade: %d" % \ (ID, Name, Grade) except: print "Error: unable to fecth data"def deletedb(db): # 使用cursor()方法获取操作游标 cursor = db.cursor() # SQL 删除语句 sql = "DELETE FROM Student WHERE Grade = '%d'" % (100) try: # 执行SQL语句 cursor.execute(sql) # 提交修改 db.commit() except: print '删除数据失败!' # 发生错误时回滚 db.rollback()def updatedb(db): # 使用cursor()方法获取操作游标 cursor = db.cursor() # SQL 更新语句 sql = "UPDATE Student SET Grade = Grade + 3 WHERE ID = '%s'" % ('003') try: # 执行SQL语句 cursor.execute(sql) # 提交到数据库执行 db.commit() except: print '更新数据失败!' # 发生错误时回滚 db.rollback()def closedb(db): db.close()def main(): db = connectdb() # 连接MySQL数据库 createtable(db) # 创建表 insertdb(db) # 插入数据 print '\n插入数据后:' querydb(db) deletedb(db) # 删除数据 print '\n删除数据后:' querydb(db) updatedb(db) # 更新数据 print '\n更新数据后:' querydb(db) closedb(db) # 关闭数据库if __name__ == '__main__': main()
pour exécuter les résultats :
3. Utilisation de mysql.connector
(1) Qu'est-ce que mysql.connector?
Étant donné que le serveur MySQL fonctionne comme un processus indépendant et sert des services externes via le réseau, le pilote MySQL qui prend en charge Python est requis pour connectez-vous au serveur MySQL.
Actuellement, il existe deux pilotes MySQL :
mysql-connector-python : est le pur MySQL< officiel. 🎜>Python pilote ;
MySQL-python : C'est le pilote Python qui encapsule le pilote MySQL C.
(2) Installezmysql.connector:
pip install mysql-connector-pythonpip install MySQL-python
mysql.connector:
#!/usr/bin/env python# coding=utf-8import mysql.connectordef connectdb(): print('连接到mysql服务器...') # 打开数据库连接 # 用户名:hp, 密码:Hp12345.,用户名和密码需要改成你自己的mysql用户名和密码,并且要创建数据库TESTDB,并在TESTDB数据库中创建好表Student db = mysql.connector.connect(user="hp", passwd="Hp12345.", database="TESTDB", use_unicode=True) print('连接上了!') return dbdef createtable(db): # 使用cursor()方法获取操作游标 cursor = db.cursor() # 如果存在表Sutdent先删除 cursor.execute("DROP TABLE IF EXISTS Student") sql = """CREATE TABLE Student ( ID CHAR(10) NOT NULL, Name CHAR(8), Grade INT )""" # 创建Sutdent表 cursor.execute(sql)def insertdb(db): # 使用cursor()方法获取操作游标 cursor = db.cursor() # SQL 插入语句 sql = """INSERT INTO Student VALUES ('001', 'CZQ', 70), ('002', 'LHQ', 80), ('003', 'MQ', 90), ('004', 'WH', 80), ('005', 'HP', 70), ('006', 'YF', 66), ('007', 'TEST', 100)""" #sql = "INSERT INTO Student(ID, Name, Grade) \ # VALUES ('%s', '%s', '%d')" % \ # ('001', 'HP', 60) try: # 执行sql语句 cursor.execute(sql) # 提交到数据库执行 db.commit() except: # Rollback in case there is any error print '插入数据失败!' db.rollback()def querydb(db): # 使用cursor()方法获取操作游标 cursor = db.cursor() # SQL 查询语句 #sql = "SELECT * FROM Student \ # WHERE Grade > '%d'" % (80) sql = "SELECT * FROM Student" try: # 执行SQL语句 cursor.execute(sql) # 获取所有记录列表 results = cursor.fetchall() for row in results: ID = row[0] Name = row[1] Grade = row[2] # 打印结果 print "ID: %s, Name: %s, Grade: %d" % \ (ID, Name, Grade) except: print "Error: unable to fecth data"def deletedb(db): # 使用cursor()方法获取操作游标 cursor = db.cursor() # SQL 删除语句 sql = "DELETE FROM Student WHERE Grade = '%d'" % (100) try: # 执行SQL语句 cursor.execute(sql) # 提交修改 db.commit() except: print '删除数据失败!' # 发生错误时回滚 db.rollback()def updatedb(db): # 使用cursor()方法获取操作游标 cursor = db.cursor() # SQL 更新语句 sql = "UPDATE Student SET Grade = Grade + 3 WHERE ID = '%s'" % ('003') try: # 执行SQL语句 cursor.execute(sql) # 提交到数据库执行 db.commit() except: print '更新数据失败!' # 发生错误时回滚 db.rollback()def closedb(db): db.close()def main(): db = connectdb() # 连接MySQL数据库 createtable(db) # 创建表 insertdb(db) # 插入数据 print '\n插入数据后:' querydb(db) deletedb(db) # 删除数据 print '\n删除数据后:' querydb(db) updatedb(db) # 更新数据 print '\n更新数据后:' querydb(db) closedb(db) # 关闭数据库if __name__ == '__main__': main()
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.

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.

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.

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.
