Mysql
 sql >> Base de données >  >> RDS >> Mysql

Procédures stockées MySQL, Pandas et utilisation de multi=True lors de l'exécution de plusieurs instructions

J'espère que cela sera d'une certaine aide. Utilisation de quelques pointeurs de concept de ici , et un petit essai/erreur, j'ai pu faire ce travail en utilisant mysql.connector et 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'])

Cela a parfaitement fonctionné pour moi... J'espère que c'est aussi le cas pour vous.