suchen
HeimBackend-EntwicklungPython-TutorialDrei Python-Methoden zum Betrieb einer MySQL-Datenbank

Drei Python-Methoden zum Betrieb einer MySQL-Datenbank

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

In diesem Artikel werden hauptsächlich drei Python-Methoden zum Betreiben der MySQL-Datenbank vorgestellt. Der Herausgeber findet sie recht gut, daher werde ich sie jetzt mit Ihnen teilen und als Referenz verwenden. Folgen wir dem Editor und werfen wir einen Blick darauf

1. Die Verwendung von MySQLdb

(1) Was ist MySQLdb?

MySQLdb ist eine Schnittstelle für Python zur Verbindung mit der MySQL-Datenbank. Sie implementiert die Python-Datenbank-API-Spezifikation V2.0, basierend auf der MySQL C API.

(2) Quellcode-InstallationMySQLdb: 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) MySQLdb Verwendung von :

#!/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()

Laufergebnisse:

Drei Python-Methoden zum Betrieb einer MySQL-Datenbank

2. Verwendung von PyMySQL

(1) Was ist PyMySQL?

PyMySQL ist eine Bibliothek in Python, die zur Verbindung mit dem MySQL-Server verwendet wird. Sie folgt der Python-Datenbank-API Spezifikation V2 .0 und enthält die reine-Python-MySQL-Clientbibliothek.

(2) Installieren Sie PyMySQL:

pip install PyMysql

(3) Verwenden Sie 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()

zum Ausführen die Ergebnisse:

Drei Python-Methoden zum Betrieb einer MySQL-Datenbank

3. Verwendung von mysql.connector

(1) Was ist mysql.connector?

 Da der MySQL-Server als unabhängiger Prozess läuft und externe Dienste über das Netzwerk bereitstellt, ist der MySQL-Treiber erforderlich, der Python unterstützt Stellen Sie eine Verbindung zum MySQL-Server her.

Derzeit gibt es zwei MySQL-Treiber:

mysql-connector-python: Es handelt sich um die offizielle reine Version von MySQL 🎜>Python-Treiber;

MySQL-Python: Es ist der Python-Treiber, der den MySQL C-Treiber kapselt.

(2) Installieren Sie

mysql.connector:

pip install mysql-connector-pythonpip install MySQL-python
(3) Verwenden Sie

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()
Laufergebnisse:

Drei Python-Methoden zum Betrieb einer MySQL-Datenbank

Das obige ist der detaillierte Inhalt vonDrei Python-Methoden zum Betrieb einer MySQL-Datenbank. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Der Hauptzweck von Python: Flexibilität und BenutzerfreundlichkeitDer Hauptzweck von Python: Flexibilität und BenutzerfreundlichkeitApr 17, 2025 am 12:14 AM

Die Flexibilität von Python spiegelt sich in Multi-Paradigm-Unterstützung und dynamischen Typsystemen wider, während eine einfache Syntax und eine reichhaltige Standardbibliothek stammt. 1. Flexibilität: Unterstützt objektorientierte, funktionale und prozedurale Programmierung und dynamische Typsysteme verbessern die Entwicklungseffizienz. 2. Benutzerfreundlichkeit: Die Grammatik liegt nahe an der natürlichen Sprache, die Standardbibliothek deckt eine breite Palette von Funktionen ab und vereinfacht den Entwicklungsprozess.

Python: Die Kraft der vielseitigen ProgrammierungPython: Die Kraft der vielseitigen ProgrammierungApr 17, 2025 am 12:09 AM

Python ist für seine Einfachheit und Kraft sehr beliebt, geeignet für alle Anforderungen von Anfängern bis hin zu fortgeschrittenen Entwicklern. Seine Vielseitigkeit spiegelt sich in: 1) leicht zu erlernen und benutzten, einfachen Syntax; 2) Reiche Bibliotheken und Frameworks wie Numpy, Pandas usw.; 3) plattformübergreifende Unterstützung, die auf einer Vielzahl von Betriebssystemen betrieben werden kann; 4) Geeignet für Skript- und Automatisierungsaufgaben zur Verbesserung der Arbeitseffizienz.

Python in 2 Stunden am Tag lernen: Ein praktischer LeitfadenPython in 2 Stunden am Tag lernen: Ein praktischer LeitfadenApr 17, 2025 am 12:05 AM

Ja, lernen Sie Python in zwei Stunden am Tag. 1. Entwickeln Sie einen angemessenen Studienplan, 2. Wählen Sie die richtigen Lernressourcen aus, 3. Konsolidieren Sie das durch die Praxis erlernte Wissen. Diese Schritte können Ihnen helfen, Python in kurzer Zeit zu meistern.

Python gegen C: Vor- und Nachteile für EntwicklerPython gegen C: Vor- und Nachteile für EntwicklerApr 17, 2025 am 12:04 AM

Python eignet sich für eine schnelle Entwicklung und Datenverarbeitung, während C für hohe Leistung und zugrunde liegende Kontrolle geeignet ist. 1) Python ist einfach zu bedienen, mit prägnanter Syntax, und eignet sich für Datenwissenschaft und Webentwicklung. 2) C hat eine hohe Leistung und eine genaue Kontrolle und wird häufig bei der Programmierung von Spielen und Systemen verwendet.

Python: zeitliches Engagement und LerntempoPython: zeitliches Engagement und LerntempoApr 17, 2025 am 12:03 AM

Die Zeit, die zum Erlernen von Python erforderlich ist, variiert von Person zu Person, hauptsächlich von früheren Programmiererfahrungen, Lernmotivation, Lernressourcen und -methoden und Lernrhythmus. Setzen Sie realistische Lernziele und lernen Sie durch praktische Projekte am besten.

Python: Automatisierung, Skript- und AufgabenverwaltungPython: Automatisierung, Skript- und AufgabenverwaltungApr 16, 2025 am 12:14 AM

Python zeichnet sich in Automatisierung, Skript und Aufgabenverwaltung aus. 1) Automatisierung: Die Sicherungssicherung wird durch Standardbibliotheken wie OS und Shutil realisiert. 2) Skriptschreiben: Verwenden Sie die PSUTIL -Bibliothek, um die Systemressourcen zu überwachen. 3) Aufgabenverwaltung: Verwenden Sie die Zeitplanbibliothek, um Aufgaben zu planen. Die Benutzerfreundlichkeit von Python und die Unterstützung der reichhaltigen Bibliothek machen es zum bevorzugten Werkzeug in diesen Bereichen.

Python und Zeit: Machen Sie das Beste aus Ihrer StudienzeitPython und Zeit: Machen Sie das Beste aus Ihrer StudienzeitApr 14, 2025 am 12:02 AM

Um die Effizienz des Lernens von Python in einer begrenzten Zeit zu maximieren, können Sie Pythons DateTime-, Zeit- und Zeitplanmodule verwenden. 1. Das DateTime -Modul wird verwendet, um die Lernzeit aufzuzeichnen und zu planen. 2. Das Zeitmodul hilft, die Studie zu setzen und Zeit zu ruhen. 3. Das Zeitplanmodul arrangiert automatisch wöchentliche Lernaufgaben.

Python: Spiele, GUIs und mehrPython: Spiele, GUIs und mehrApr 13, 2025 am 12:14 AM

Python zeichnet sich in Gaming und GUI -Entwicklung aus. 1) Spielentwicklung verwendet Pygame, die Zeichnungen, Audio- und andere Funktionen bereitstellt, die für die Erstellung von 2D -Spielen geeignet sind. 2) Die GUI -Entwicklung kann Tkinter oder Pyqt auswählen. Tkinter ist einfach und einfach zu bedienen. PYQT hat reichhaltige Funktionen und ist für die berufliche Entwicklung geeignet.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

EditPlus chinesische Crack-Version

EditPlus chinesische Crack-Version

Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

WebStorm-Mac-Version

WebStorm-Mac-Version

Nützliche JavaScript-Entwicklungstools

Sicherer Prüfungsbrowser

Sicherer Prüfungsbrowser

Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

SublimeText3 Englische Version

SublimeText3 Englische Version

Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung