Python知識(shí)分享網(wǎng) - 專(zhuān)業(yè)的Python學(xué)習(xí)網(wǎng)站 學(xué)Python,上Python222
pymysql調(diào)用存儲(chǔ)過(guò)程
匿名網(wǎng)友發(fā)布于:2023-09-19 10:48:10
(侵權(quán)舉報(bào))

1小時(shí)學(xué)會(huì) Python操作Mysql數(shù)據(jù)庫(kù)之pymysql模塊技術(shù)https://www.bilibili.com/video/BV1Dz4y1j7Jr

 

 

我們首先創(chuàng)建一個(gè)簡(jiǎn)單的存儲(chǔ)過(guò)程

 

DELIMITER //

CREATE PROCEDURE test_add(m INT,n INT, OUT result INT)
BEGIN
SET result=m+n;

END; //

 

測(cè)試:

 

SET @s=0;
CALL test_add(1,2,@s);
SELECT @s

 

pymysql調(diào)用存儲(chǔ)過(guò)程  圖1

 

Pymysql調(diào)用存儲(chǔ)過(guò)程實(shí)現(xiàn):

 

from pymysql import Connection

con = None

try:
    # 創(chuàng)建數(shù)據(jù)庫(kù)連接
    con = Connection(
        host="localhost",  # 主機(jī)名
        port=3306,  # 端口
        user="root",  # 賬戶(hù)
        password="123456",  # 密碼
        database="db_python",  # 指定操作的數(shù)據(jù)庫(kù)
        autocommit=True  # 設(shè)置自動(dòng)提交
    )
    # 獲取游標(biāo)對(duì)象
    cursor = con.cursor()
    # 使用游標(biāo)對(duì)象,調(diào)用存儲(chǔ)過(guò)程
    cursor.execute("CALL test_add(1,2,@s);")
    cursor.execute("select @s;")
    result = cursor.fetchone()
    print(result[0])
    # 確認(rèn)提交
    # con.commit()
except Exception as e:
    print("異常:", e)
finally:
    if con:
        # 關(guān)閉連接
        con.close()

 

 

 

轉(zhuǎn)載自: