我看过MySQL的数据检索可以在python解释器中输出,但是我想知道是否有可能从MySQL数据库中检索一些数据,然后将其用作Python函数的参数。 / p>
让我假装我有一些功能:
def doggy(name, goodOrBad, colour, breed):
print (name + " is a " + goodOrBad + " boy, who is a " + colour + " " + breed + ".")
给定参数输出如下:
"Max is a good boy who is a chocolate lab."
是否可以从MySQL表中提取数据以用作此函数的参数?或者我应该简单地尝试拉出数据,然后将它们保存到单独函数中的变量中,然后调用" doggy"来自新函数的变量作为参数?
类似的东西:
def doggyParams():
a = "Max"
b = "good"
c = "chocolate"
d = "Lab"
doggy(a, b, c, d)
doggyParams()
我不确定这是否可行 - 检索数据然后将它们存储为变量?或者,如果这是一个坏主意?
谢谢大家,先发帖子,我不认为这是重复或重新发布。
干杯, LC-数据
答案 0 :(得分:0)
是否可以从MySQL表中提取数据以用作参数 这个功能?
这也不是问题。
您可以从MySQL提取数据,存储并以任何方式使用它:
def doggyParams():
query = "select a, b, c, d from params where id = 1"
cursor.execute(query)
a, b, c, d = cursor.fetchone()
doggy(a, b, c, d)
doggyParams()
答案 1 :(得分:0)
是。它可以这样做。
#!/usr/bin/python
import MySQLdb
# Open database connection
db = MySQLdb.connect("localhost","user","test123","TESTDB" )
# prepare a cursor object using cursor() method
cursor = db.cursor()
# sql = Query which will return your required rows
try:
# Execute the SQL command
cursor.execute(sql)
# Fetch all the rows in a list of lists.
results = cursor.fetchall()
for row in results:
name = row[0]
good_or_bad = row[1]
color = row[2]
breed = row[3]
doggy(name, good_or_bad, color, breed)
except:
print "Error: unable to fecth data"
# disconnect from server
db.close()