


Ausführliche Erläuterung von Beispielen für Pythons Datenoperationen auf MySQL
In diesem Artikel wird Python3 vorgestellt, um mit PyMySQL eine Verbindung zur Datenbank herzustellen und einfache Hinzufügungen, Löschungen, Änderungen und Abfragen zu implementieren. Hat einen sehr guten Referenzwert. Werfen wir einen Blick mit dem Editor unten
In diesem Artikel wird Python3 vorgestellt, um PyMySQL zu verwenden, um eine Verbindung zur Datenbank herzustellen und einfache Hinzufügungen, Löschungen, Änderungen und Abfragen zu implementieren.
Was ist PyMySQL?
PyMySQL ist eine Bibliothek, die in Python 3.x zum Herstellen einer Verbindung zum MySQL-Server verwendet wird, und mysqldb wird in Python 2.x verwendet.
PyMySQL-Installation
Bevor wir PyMySQL verwenden, müssen wir sicherstellen, dass PyMySQL installiert ist.
PyMySQL-Downloadadresse: https://github.com/PyMySQL/PyMySQL.
Wenn es noch nicht installiert ist, können wir den folgenden Befehl verwenden, um die neueste Version von PyMySQL zu installieren:
$ pip install PyMySQL
Wenn Ihr System den Pip nicht unterstützt Mit dem Befehl können Sie die folgende Installationsmethode verwenden:
1. Verwenden Sie den Git-Befehl, um das Installationspaket herunterzuladen (Sie können es auch manuell herunterladen):
$ git clone https://github.com/PyMySQL/PyMySQL $ cd PyMySQL $ python3 setup.py install
2. Wenn Sie eine Versionsnummer angeben müssen, können Sie zur Installation den Curl-Befehl verwenden:
$ # X.X 为PyMySQL 的版本号 $ curl -L https://github.com/PyMySQL/PyMySQL/tarball/pymysql-X.X | tar xz $ cd PyMySQL* $ python3 setup.py install
Hinweis: Bitte stellen Sie sicher, dass Sie über Root-Rechte verfügen, um die oben genannten Module zu installieren.
Datenbankverbindung
Bevor Sie eine Verbindung zur Datenbank herstellen, bestätigen Sie bitte Folgendes:
Sie haben die Datenbank TESTDB erstellt
In der TESTDB-Datenbank haben Sie die Tabelle MITARBEITER erstellt
Die Tabellenfelder MITARBEITER sind VORNAME, NACHNAME, ALTER, GESCHLECHT und EINKOMMEN
Der Benutzername, der für die Verbindung zur Datenbank TESTDB verwendet wird, ist „testuser“ und das Passwort ist „test123“. Sie können es selbst festlegen oder direkt den Root-Benutzernamen und das Passwort für die Benutzerautorisierung in MySQL verwenden , verwenden Sie bitte den Grant-Befehl
Das PyMySQL-Modul wurde auf Ihrem Computer installiert
Beispiel:
Das folgende Beispiel verweist auf die MySQL-TESTDB-Datenbank:
#!/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()
Datenbanktabelle erstellen
Wenn die Datenbankverbindung besteht, können wir die Methodeexecute() verwenden, um Erstellen Sie eine Tabelle für die Datenbank und erstellen Sie die Tabelle EMPLOYEE wie folgt:
#!/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()
Datenbankeinfügeoperation
Das folgende Beispiel verwendet die SQL-Insert-Anweisung, um Datensätze in die Datenbank einzufügen Tabelle MITARBEITER:
#!/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()
Das obige Beispiel kann auch in der folgenden Form geschrieben werden:
#!/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()
Datenbankabfragevorgang
Python fragt MySQL mit der Methode fetchone() ab, um ein einzelnes Datenelement zu erhalten, und mit der Methode fetchall(), um mehrere Datenelemente abzurufen.
fetchone(): Diese Methode ruft den nächsten Abfrageergebnissatz ab. Die Ergebnismenge ist ein Objekt
fetchall(): empfängt alle zurückgegebenen Ergebniszeilen
rowcount: Dies ist ein schreibgeschütztes Attribut und gibt die Anzahl der betroffenen Zeilen nach der Ausführung der Methode „execute()“ zurück
Beispiel:
Fragen Sie alle Daten in der EMPLOYEE-Tabelle ab, deren Gehaltsfeld größer ist als 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()
Datenbankaktualisierungsvorgang
Der Aktualisierungsvorgang wird verwendet, um die Daten in der Datentabelle zu aktualisieren. Das folgende Beispiel ändert alle SEX-Felder in TESTDB-Tabelle auf 'M', das AGE-Feld wird um 1 erhöht:
#!/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()
Löschvorgang
Der Löschvorgang wird zum Löschen von Daten in der Datentabelle verwendet . Das folgende Beispiel zeigt das Löschen von AGE in der Datentabelle EMPLOYEE Alle Daten größer als 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()
Transaktionen ausführen
Der Transaktionsmechanismus kann die Datenkonsistenz sicherstellen.
Transaktionen sollten 4 Attribute haben: Atomizität, Konsistenz, Isolation und Haltbarkeit. Diese vier Eigenschaften werden oft als ACID-Eigenschaften bezeichnet.
Atomizität. Eine Transaktion ist eine unteilbare Arbeitseinheit. Alle in der Transaktion enthaltenen Vorgänge werden entweder ausgeführt oder nicht ausgeführt.
Konsistenz. Eine Transaktion muss die Datenbank von einem Konsistenzzustand in einen anderen ändern. Konsistenz und Atomizität hängen eng zusammen.
Isolation. Die Ausführung einer Transaktion kann nicht durch andere Transaktionen beeinträchtigt werden. Das heißt, die innerhalb einer Transaktion verwendeten Vorgänge und Daten sind von anderen gleichzeitigen Transaktionen isoliert und gleichzeitig ausgeführte Transaktionen können sich nicht gegenseitig stören.
Haltbarkeit. Kontinuität, auch Permanenz genannt, bedeutet, dass die Änderungen an den Daten in der Datenbank dauerhaft sein sollten, sobald eine Transaktion festgeschrieben wurde. Nachfolgende Operationen oder Ausfälle sollten keine Auswirkungen darauf haben.
Instanz
# SQL删除记录语句 sql = "DELETE FROM EMPLOYEE WHERE AGE > '%d'" % (20) try: # 执行SQL语句 cursor.execute(sql) # 向数据库提交 db.commit() except: # 发生错误时回滚 db.rollback()
Bei Datenbanken, die Transaktionen unterstützen, wird in der Python-Datenbankprogrammierung beim Erstellen des Cursors automatisch ein unsichtbarer Cursor gestartet Datenbanktransaktion.
Die commit()-Methode führt alle Aktualisierungsvorgänge am Cursor aus und die rollback()-Methode setzt alle Vorgänge am aktuellen Cursor zurück. Jede Methode startet eine neue Transaktion.
Fehlerbehandlung
异常 | 描述 |
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的子类。 |
Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung von Beispielen für Pythons Datenoperationen auf MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

PHP ist hauptsächlich prozedurale Programmierung, unterstützt aber auch die objektorientierte Programmierung (OOP). Python unterstützt eine Vielzahl von Paradigmen, einschließlich OOP, funktionaler und prozeduraler Programmierung. PHP ist für die Webentwicklung geeignet, und Python eignet sich für eine Vielzahl von Anwendungen wie Datenanalyse und maschinelles Lernen.

PHP eignet sich für Webentwicklung und schnelles Prototyping, und Python eignet sich für Datenwissenschaft und maschinelles Lernen. 1.PHP wird für die dynamische Webentwicklung verwendet, mit einfacher Syntax und für schnelle Entwicklung geeignet. 2. Python hat eine kurze Syntax, ist für mehrere Felder geeignet und ein starkes Bibliotheksökosystem.

Die Hauptaufgabe von MySQL in Webanwendungen besteht darin, Daten zu speichern und zu verwalten. 1.Mysql verarbeitet effizient Benutzerinformationen, Produktkataloge, Transaktionsunterlagen und andere Daten. 2. Durch die SQL -Abfrage können Entwickler Informationen aus der Datenbank extrahieren, um dynamische Inhalte zu generieren. 3.Mysql arbeitet basierend auf dem Client-Server-Modell, um eine akzeptable Abfragegeschwindigkeit sicherzustellen.

Laravel ist ein PHP -Framework zum einfachen Aufbau von Webanwendungen. Es bietet eine Reihe leistungsstarker Funktionen, darunter: Installation: Installieren Sie die Laravel CLI weltweit mit Komponisten und erstellen Sie Anwendungen im Projektverzeichnis. Routing: Definieren Sie die Beziehung zwischen der URL und dem Handler in Routen/Web.php. Ansicht: Erstellen Sie eine Ansicht in Ressourcen/Ansichten, um die Benutzeroberfläche der Anwendung zu rendern. Datenbankintegration: Bietet eine Out-of-the-Box-Integration in Datenbanken wie MySQL und verwendet Migration, um Tabellen zu erstellen und zu ändern. Modell und Controller: Das Modell repräsentiert die Datenbankentität und die Controller -Prozesse HTTP -Anforderungen.

PHP entstand 1994 und wurde von Rasmuslerdorf entwickelt. Es wurde ursprünglich verwendet, um Website-Besucher zu verfolgen und sich nach und nach zu einer serverseitigen Skriptsprache entwickelt und in der Webentwicklung häufig verwendet. Python wurde Ende der 1980er Jahre von Guidovan Rossum entwickelt und erstmals 1991 veröffentlicht. Es betont die Lesbarkeit und Einfachheit der Code und ist für wissenschaftliche Computer, Datenanalysen und andere Bereiche geeignet.

Bei der Entwicklung einer kleinen Anwendung stieß ich auf ein kniffliges Problem: die Notwendigkeit, eine leichte Datenbankbetriebsbibliothek schnell zu integrieren. Nachdem ich mehrere Bibliotheken ausprobiert hatte, stellte ich fest, dass sie entweder zu viel Funktionalität haben oder nicht sehr kompatibel sind. Schließlich fand ich Minii/DB, eine vereinfachte Version basierend auf YII2, die mein Problem perfekt löste.

Das Ausführen von Python-Code in Notepad erfordert, dass das ausführbare Python-ausführbare Datum und das NPPEXEC-Plug-In installiert werden. Konfigurieren Sie nach dem Installieren von Python und dem Hinzufügen des Pfades den Befehl "Python" und den Parameter "{current_directory} {file_name}" im NPPExec-Plug-In, um Python-Code über den Shortcut-Taste "F6" in Notoza auszuführen.

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.
