溫馨提示×

Python在SQL數(shù)據(jù)操作中的存儲過程調(diào)用方法有哪些

sql
小樊
102
2024-08-18 13:56:36
欄目: 云計(jì)算

在Python中調(diào)用SQL存儲過程的方法有以下幾種:

  1. 使用SQLAlchemy庫:SQLAlchemy是一個Python SQL工具包和ORM框架,它可以與多種數(shù)據(jù)庫進(jìn)行交互。通過SQLAlchemy,可以使用session.execute()方法執(zhí)行存儲過程。
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker

engine = create_engine('mysql://user:password@localhost/dbname')
Session = sessionmaker(bind=engine)
session = Session()

result = session.execute("CALL stored_procedure_name()")
  1. 使用pyodbc庫:pyodbc是一個Python的ODBC數(shù)據(jù)庫接口庫,通過它可以連接到各種數(shù)據(jù)庫??梢允褂胮yodbc庫中的execute()方法執(zhí)行存儲過程。
import pyodbc

conn = pyodbc.connect('DSN=DataSourceName;UID=user;PWD=password')
cursor = conn.cursor()

cursor.execute("{CALL stored_procedure_name()}")
conn.commit()

rows = cursor.fetchall()
  1. 使用pymysql庫:pymysql是一個Python對MySQL數(shù)據(jù)庫進(jìn)行操作的庫,可以使用它執(zhí)行存儲過程。
import pymysql

conn = pymysql.connect(host='localhost', user='user', password='password', db='dbname')
cursor = conn.cursor()

cursor.callproc('stored_procedure_name', args=())
conn.commit()

result = cursor.fetchall()

0