Python: Anzahl der von cursor.execute betroffenen Zeilen ("SELECT ...)
Wie kann ich auf die Anzahl der betroffenen Zeilen:
cursor.execute("SELECT COUNT(*) from result where server_state='2' AND name LIKE '"+digest+"_"+charset+"_%'")
InformationsquelleAutor der Frage Tie-fighter | 2010-03-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie es mit
fetchone
:result
halten wird ein Tupel mit einem element, das den WertCOUNT(*)
.So finden Sie die Anzahl der Zeilen:
Oder, wenn Sie lieber tun es in einer fiel swoop:
PS. Es ist auch eine gute übung zur Verwendung eingestellt Argumente, Wann immer möglich, denn es kann automatisch zitieren, Argumente für Sie, wenn nötig, und Schutz vor sql-injection.
Die korrekte syntax für Parametrierung Argumente, hängt von Ihrem python/Datenbank-adapter (z.B. mysqldb, psycopg2 oder sqlite3). Es würde so Aussehen
InformationsquelleAutor der Antwort unutbu
Vom PEP 249die in der Regel implementiert die Python-Datenbank-APIs:
Hoffe, dass ist was du meintest.
InformationsquelleAutor der Antwort AndiDog
Die Anzahl der Zeilen erfolgt nach der Rückgabe aus ausführen:
natürlich, wie AndiDog bereits erwähnt, können Sie die Zeilenanzahl durch den Zugriff auf die rowcount-Eigenschaft des cursor-jederzeit die Anzahl der für die Letzte Ausführung:
Aus der inline-Dokumentation von python-MySQLdb:
InformationsquelleAutor der Antwort Boaz
Meiner Meinung nach, ist der einfachste Weg, um die Höhe der ausgewählten Zeilen ist die folgende:
Den cursor-Objekt liefert eine Liste mit den Ergebnissen bei Verwendung der fetch-Befehle (fetchall(), fetchone(), fetchmany()). Um die ausgewählten Zeilen drucken Sie einfach die Länge dieser Liste. Aber es macht einfach Sinn für fetchall(). 😉
Beispiel:
InformationsquelleAutor der Antwort harvey_c
für mysql einfachsten ist es, diese
InformationsquelleAutor der Antwort atulya kumar
//Das Funktioniert für mich. U können auf diese Weise
InformationsquelleAutor der Antwort Towqir Ahmed Shaem