来自MySql数据库的Python函数参数?

时间:2018-01-30 09:57:37

标签: python mysql

我看过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-数据

2 个答案:

答案 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()