Heim Backend-Entwicklung Python-Tutorial Ausführliche Erläuterung von Beispielen für Pythons Datenoperationen auf MySQL

Ausführliche Erläuterung von Beispielen für Pythons Datenoperationen auf MySQL

Apr 27, 2017 am 11:47 AM
mysql python 操作

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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()
Nach dem Login kopieren

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()
Nach dem Login kopieren

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()
Nach dem Login kopieren

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()
Nach dem Login kopieren

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()
Nach dem Login kopieren

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()
Nach dem Login kopieren

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()
Nach dem Login kopieren

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()
Nach dem Login kopieren

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!

Erklärung dieser Website
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

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

Video Face Swap

Video Face Swap

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

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP und Python: Verschiedene Paradigmen erklärt PHP und Python: Verschiedene Paradigmen erklärt Apr 18, 2025 am 12:26 AM

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.

Wählen Sie zwischen PHP und Python: Ein Leitfaden Wählen Sie zwischen PHP und Python: Ein Leitfaden Apr 18, 2025 am 12:24 AM

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.

MySQLs Rolle: Datenbanken in Webanwendungen MySQLs Rolle: Datenbanken in Webanwendungen Apr 17, 2025 am 12:23 AM

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.

Beispiel für Laravel -Einführung Beispiel für Laravel -Einführung Apr 18, 2025 pm 12:45 PM

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 und Python: Ein tiefes Eintauchen in ihre Geschichte PHP und Python: Ein tiefes Eintauchen in ihre Geschichte Apr 18, 2025 am 12:25 AM

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.

Lösen Sie das Datenbankverbindungsproblem: Ein praktischer Fall der Verwendung von Minii/DB -Bibliothek Lösen Sie das Datenbankverbindungsproblem: Ein praktischer Fall der Verwendung von Minii/DB -Bibliothek Apr 18, 2025 am 07:09 AM

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.

Wie man Python mit Notepad leitet Wie man Python mit Notepad leitet Apr 16, 2025 pm 07:33 PM

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: Die Kraft der vielseitigen Programmierung Python: Die Kraft der vielseitigen Programmierung Apr 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.

See all articles