Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Gespeicherte MySQL-Prozeduren, Pandas und Multi=True verwenden, wenn mehrere Anweisungen ausgeführt werden

Hoffentlich wird dies eine Hilfe sein. Verwenden einiger Konzeptzeiger von hier , und ein wenig Versuch / Irrtum, konnte ich dies mit mysql.connector zum Laufen bringen und pandas .

# CONNECT TO DB AND GET CURSOR OBJECT
conn = <do db connecty stuff>
cur = conn.cursor()

# CALL THE STORED PROCEDURE
cur.callproc('stored_proc_name', ['my', 'usp', 'parameters'])

# EXTRACT RESULTS FROM CURSOR
for i in cur.stored_results(): results = i.fetchall()

# LOAD INTO A DATAFRAME
df = pd.DataFrame(results, columns=['my', 'column', 'headers'])

Das hat perfekt für mich funktioniert ... ich hoffe, es funktioniert auch für Sie.