Installieren Sie pymysql 2|0Verwenden von pymysql 2|1Datenabfrageanweisungen verwenden Abfrage eines Datenelements fetchone() vom pymysql-Import * conn = verbinden( Host = '127.0.0.1', Port=3306, Benutzer='root', Passwort='123456', Datenbank='itcast', Zeichensatz = "utf8") # Erstellen Sie einen Cursor c = conn.cursor() # SQL-Anweisung ausführen c.execute("select * from student") # Abfrage einer Datenzeile result = c.fetchone() drucken(Ergebnis) # Cursor schließen c.close() # Schließen Sie die Datenbankverbindung conn.close() """ (1, 'Kleinkind', 18, b'\x01') """ Mehrere Daten abfragen fetchall() vom pymysql-Import * conn = verbinden( Host = '127.0.0.1', Port=3306, Benutzer='root', Passwort='123456', Datenbank='itcast', Zeichensatz = "utf8") # Erstellen Sie einen Cursor c = conn.cursor() # SQL-Anweisung ausführen c.execute("select * from student") # Mehrere Datenzeilen abfragen result = c.fetchall() für Element im Ergebnis: drucken(Artikel) # Cursor schließen c.close() # Schließen Sie die Datenbankverbindung conn.close() """ (1, 'Kleinkind', 18, b'\x01') (2, 'Li Si', 19, b'\x00') (3, 'Kleinkind', 20, b'\x01') """ Ändern Sie die Standardeinstellungen des Cursors, der Rückgabewert ist ein Wörterbuch vom pymysql-Import * conn = verbinden( Host = '127.0.0.1', Port=3306, Benutzer='root', Passwort='123456', Datenbank='itcast', Zeichensatz = "utf8") # Erstellen Sie einen Cursor und stellen Sie die Operation auf den Wörterbuchtyp c = conn.cursor(cursors.DictCursor) ein. # SQL-Anweisung ausführen c.execute("select * from student") # Mehrere Datenzeilen abfragen result = c.fetchall() für Element im Ergebnis: drucken(Artikel) # Cursor schließen c.close() # Schließen Sie die Datenbankverbindung conn.close() """ {'id': 1, 'name': 'Name', 'age': 18, 'sex': b'\x01'} {'id': 2, 'name': 'Li Si', 'alter': 19, 'geschlecht': b'\x00'} {'id': 3, 'name': 'Name', 'age': 20, 'sex': b'\x01'} """ Dasselbe gilt für die Rückgabe eines Datenelements. Geben Sie je nach Bedarf ein Wörterbuch oder ein Tupel zurück. 2|2Datenmanipulationsanweisungen verwenden Die Vorgänge zum Ausführen von Add-, Delete- und Update-Anweisungen sind eigentlich dieselben. Schreiben Sie einfach eines zur Demonstration. vom pymysql-Import * conn = verbinden( Host = '127.0.0.1', Port=3306, Benutzer='root', Passwort='123456', Datenbank='itcast', Zeichensatz = "utf8") # Erstellen Sie einen Cursor c = conn.cursor() # SQL-Anweisung ausführen c.execute("insert into student(name,age,sex) values (%s,%s,%s)",("Individual",28,1)) # Transaktion festschreiben conn.commit() # Cursor schließen c.close() # Schließen Sie die Datenbankverbindung conn.close() Im Gegensatz zu Abfrageanweisungen müssen Transaktionen mit commit() festgeschrieben werden, sonst ist die Operation ungültig. 3|0Datenbankverbindungsklasse schreiben Reguläre Ausgabe MysqlHelper.py von pymysql import connect, Cursor Klasse MysqlHelper: def __init__(selbst, Host="127.0.0.1", Benutzer="root", Passwort="123456", Datenbank="itcast", Zeichensatz = "utf8", Port=3306): selbst.host = Host self.port = Port self.user = Benutzer self.password = Passwort self.database = Datenbank self.charset = Zeichensatz self._conn = Keine self._cursor = Keine def _open(selbst): # print("Verbindung geöffnet") self._conn = verbinden(Host=self.host, port=selbst.port, Benutzer=selbst.Benutzer, Passwort=Selbstpasswort, Datenbank=selbst.Datenbank, Zeichensatz = selbst.Zeichensatz) self._cursor = self._conn.cursor(cursors.DictCursor) def _close(selbst): # print("Verbindung geschlossen") self._cursor.close() self._conn.close() def eins(selbst, sql, params=Keine): Ergebnis: Tupel = Keines versuchen: selbst._öffnen() self._cursor.execute(sql, Parameter) Ergebnis = self._cursor.fetchone() außer Ausnahme als e: drucken(e) Endlich: selbst._schließen() Ergebnis zurückgeben def alles(selbst, sql, params=Keine): Ergebnis: Tupel = Keines versuchen: selbst._öffnen() self._cursor.execute(sql, Parameter) Ergebnis = self._cursor.fetchall() außer Ausnahme als e: drucken(e) Endlich: selbst._schließen() Ergebnis zurückgeben def exe(selbst, sql, params=Keine): versuchen: selbst._öffnen() self._cursor.execute(sql, Parameter) self._conn.commit() außer Ausnahme als e: drucken(e) Endlich: selbst._schließen() Diese Klasse kapselt Fetchone, Fetchall und Execute, sodass das Öffnen und Schließen von Datenbankverbindungen und Cursorn nicht mehr erforderlich ist. vom MysqlHelper-Import * mysqlhelper = MysqlHelper() ret = mysqlhelper.all("Wählen Sie * aus Student aus") für Artikel im Ret: drucken(Artikel) """ {'id': 1, 'name': 'Name', 'age': 18, 'sex': b'\x01'} {'id': 2, 'name': 'Li Si', 'alter': 19, 'geschlecht': b'\x00'} {'id': 3, 'name': 'Name', 'age': 20, 'sex': b'\x01'} {'id': 5, 'name': 'Name', 'age': 28, 'sex': b'\x01'} {'id': 6, 'name': 'Wahaha', 'alter': 28, 'geschlecht': b'\x01'} {'id': 7, 'name': 'Wahaha', 'alter': 28, 'geschlecht': b'\x01'} """ Kontext-Manager-Version von mysql_with.py von pymysql import connect, Cursor Klasse DB: def __init__(selbst, Host = "lokaler Host", Port=3306, db='itcast', Benutzer='root', passwd='123456', Zeichensatz='utf8'): # Verbindung herstellen self.conn = connect( Host = Host, port=Anschluss, db = db, Benutzer=Benutzer, passwd=Passwort, charset=Zeichensatz) # Erstellen Sie einen Cursor und stellen Sie die Operation auf den Wörterbuchtyp self.cur = self.conn.cursor(cursor=cursors.DictCursor) ein. def __enter__(selbst): # Gibt den Cursor zurück return self.cur auf __exit__(selbst, exc_typ, exc_val, exc_tb): # Datenbank committen und self.conn.commit() ausführen # Cursor schließen self.cur.close() # Schließen Sie die Datenbankverbindung self.conn.close() Anwendung: von mysql_with importiere DB mit DB() als db: db.execute("Wähle * aus dem Studenten aus") ret = db.fetchone() drucken(ret) """ {'id': 1, 'name': 'Name', 'age': 18, 'sex': b'\x01'} """ Zusammenfassen Oben ist eine Einführung in die Verwendung von Python zum Herstellen einer Verbindung mit einer MySQL-Datenbank mithilfe des Moduls pymysql. Ich hoffe, es ist für alle hilfreich. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten! Das könnte Sie auch interessieren:
|
<<: So erstellen Sie einen K8S-Cluster und installieren Docker unter Hyper-V
>>: Verschachtelte Anzeigeimplementierung der Vue-Router-Ansicht
Die PC-Version von React wurde für die Verwendung...
Wie unten dargestellt: SELECT Anzahl(DISTINCT(a.r...
1. Finden Sie eine geeignete Version von Redis fü...
Das geschäftliche Social-Networking-Portal Linked...
1. Installieren Sie das integrierte Linux-Subsyst...
In meinem vorherigen Artikel habe ich gesagt, das...
MultiTail ist eine Software zum gleichzeitigen Üb...
Eine Forderung Im Allgemeinen hat ein Unternehmen...
Während der normalen Projektentwicklung, wenn die...
Wenn wir eine neue CSS-Funktion verwenden möchten...
Inhaltsverzeichnis Vorwort 1. Weniger 2. Importie...
Grundbegriffe des Konsuls Servermodus und Clientm...
Hintergrund: 1. Es gibt eine Benachrichtigungstab...
Warum brauchen wir ein Berechtigungsmanagement? 1...
Um den Export und Import von Daten in SQL zu erle...