Maison développement back-end Tutoriel Python Trois méthodes Python pour faire fonctionner la base de données MySQL

Trois méthodes Python pour faire fonctionner la base de données MySQL

Apr 04, 2018 pm 05:52 PM
mysql python 数据库

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
Copier après la connexion

(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()
Copier après la connexion

Résultats d'exécution :

Trois méthodes Python pour faire fonctionner la base de données MySQL

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
Copier après la connexion

(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()
Copier après la connexion

pour exécuter les résultats :

Trois méthodes Python pour faire fonctionner la base de données MySQL

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) Installez

mysql.connector:

pip install mysql-connector-pythonpip install MySQL-python
Copier après la connexion
(3) Utilisez

mysql.connector:

#!/usr/bin/env python# coding=utf-8import mysql.connectordef connectdb():
    print(&#39;连接到mysql服务器...&#39;)    # 打开数据库连接
    # 用户名:hp, 密码:Hp12345.,用户名和密码需要改成你自己的mysql用户名和密码,并且要创建数据库TESTDB,并在TESTDB数据库中创建好表Student
    db = mysql.connector.connect(user="hp", passwd="Hp12345.", database="TESTDB", use_unicode=True)
    print(&#39;连接上了!&#39;)    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 (&#39;001&#39;, &#39;CZQ&#39;, 70),
                (&#39;002&#39;, &#39;LHQ&#39;, 80),
                (&#39;003&#39;, &#39;MQ&#39;, 90),
                (&#39;004&#39;, &#39;WH&#39;, 80),
                (&#39;005&#39;, &#39;HP&#39;, 70),
                (&#39;006&#39;, &#39;YF&#39;, 66),
                (&#39;007&#39;, &#39;TEST&#39;, 100)"""

    #sql = "INSERT INTO Student(ID, Name, Grade) \
    #    VALUES (&#39;%s&#39;, &#39;%s&#39;, &#39;%d&#39;)" % \
    #    (&#39;001&#39;, &#39;HP&#39;, 60)
    try:        # 执行sql语句
        cursor.execute(sql)        # 提交到数据库执行
        db.commit()    except:        # Rollback in case there is any error
        print &#39;插入数据失败!&#39;
        db.rollback()def querydb(db):
    # 使用cursor()方法获取操作游标 
    cursor = db.cursor()    # SQL 查询语句
    #sql = "SELECT * FROM Student \
    #    WHERE Grade > &#39;%d&#39;" % (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 = &#39;%d&#39;" % (100)    try:       # 执行SQL语句
       cursor.execute(sql)       # 提交修改
       db.commit()    except:        print &#39;删除数据失败!&#39;
        # 发生错误时回滚
        db.rollback()def updatedb(db):
    # 使用cursor()方法获取操作游标 
    cursor = db.cursor()    # SQL 更新语句
    sql = "UPDATE Student SET Grade = Grade + 3 WHERE ID = &#39;%s&#39;" % (&#39;003&#39;)    try:        # 执行SQL语句
        cursor.execute(sql)        # 提交到数据库执行
        db.commit()    except:        print &#39;更新数据失败!&#39;
        # 发生错误时回滚
        db.rollback()def closedb(db):
    db.close()def main():
    db = connectdb()    # 连接MySQL数据库

    createtable(db)     # 创建表
    insertdb(db)        # 插入数据
    print &#39;\n插入数据后:&#39;
    querydb(db) 
    deletedb(db)        # 删除数据
    print &#39;\n删除数据后:&#39;
    querydb(db)
    updatedb(db)        # 更新数据
    print &#39;\n更新数据后:&#39;
    querydb(db)

    closedb(db)         # 关闭数据库if __name__ == &#39;__main__&#39;:
    main()
Copier après la connexion
Exécuter les résultats :

Trois méthodes Python pour faire fonctionner la base de données MySQL

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 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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

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 !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

PHP et Python: différents paradigmes expliqués PHP et Python: différents paradigmes expliqués Apr 18, 2025 am 12:26 AM

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.

Choisir entre PHP et Python: un guide Choisir entre PHP et Python: un guide Apr 18, 2025 am 12:24 AM

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.

Rôle de MySQL: Bases de données dans les applications Web Rôle de MySQL: Bases de données dans les applications Web Apr 17, 2025 am 12:23 AM

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 et Python: une plongée profonde dans leur histoire PHP et Python: une plongée profonde dans leur histoire Apr 18, 2025 am 12:25 AM

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.

Exemple d'introduction de Laravel Exemple d'introduction de Laravel Apr 18, 2025 pm 12:45 PM

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.

Comment exécuter Python avec le bloc-notes Comment exécuter Python avec le bloc-notes Apr 16, 2025 pm 07:33 PM

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.

Résolvez le problème de la connexion de la base de données: un cas pratique d'utilisation de la bibliothèque Minii / DB Résolvez le problème de la connexion de la base de données: un cas pratique d'utilisation de la bibliothèque Minii / DB Apr 18, 2025 am 07:09 AM

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 vs Python: différences et similitudes clés Golang vs Python: différences et similitudes clés Apr 17, 2025 am 12:15 AM

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.

See all articles