首先在Mysql中创立一个叫ForeignKeyTest的function,链接如下:
https://blog.csdn.net/appleyuchi/article/details/79452914
然后新开一个sublime,python代码如下:
# -*- coding:utf-8 -*-
import pymysql
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
# 创建连接
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='12345', db='ForeignKeyTest', charset='utf8')
# 创建游标
cursor = conn.cursor()
# 执行SQL,并返回收影响行数
sql="select getMatchResults(111,233)"
effect_row = cursor.execute(sql)
# 执行SQL,并返回受影响行数
#effect_row = cursor.execute("update tb7 set pass = '123' where nid = %s", (11,))
results = cursor.fetchall()
print "results=",results
# 执行SQL,并返回受影响行数,执行多次
#effect_row = cursor.executemany("insert into tb7(user,pass,licnese)values(%s,%s,%s)", [("u1","u1pass","11111"),("u2","u2pass","22222")])
# 提交,不然无法保存新建或者修改的数据
conn.commit()
# 关闭游标
cursor.close()
# 关闭连接
conn.close()
也就是说python调用mysql中的自定义函数function,这和执行一般的sql语句是几乎完全一致的,
唯一不同的是sql的写法有点小特殊。