I am working with a remote db to import data into a Django proyect db.
With the help of MySQLdbme, I was able to easily create an import function, such as:
def connect_and_get_data(useful_string):
CONNECTION = MySQLdb.connect(host=..., port=...,
user=..., passwd=..., db=...,
cursorclass=MySQLdb.cursors.DictCursor,
charset = "utf8")
cursor = CONNECTION.cursor()
cursor.execute("SELECT ... FROM ... WHERE ... AND some_field=%s", (useful_string))
result = cursor.fetchall()
cursor.close()
Very pleased with this, works as expected.
But, continuing with the code, I noticed that sometimes I need to reconnect to db in order to fulfill other different requests.
The first idea was quite logical for me: for each request that I need, define a function that calls connect_and_get_datawith this request as a parameter ... something like this:
def get_data_about_first_amazing_topic(useful_string):
query = "SELECT ... FROM ... WHERE ... AND some_field=%s" %(useful_string)
connect_and_get_data(query)
...
def get_data_about_second_amazing_topic(other_useful_string):
query = "SELECT ... FROM ... WHERE ... AND some_field=%s" %(other_useful_string)
connect_and_get_data(query)
...
with these changes in connect_and_get_data:
def connect_and_get_data(query):
...
cursor.execute(query)
...
As you might think, these solutions do not work.
Reading mluebke answers python mysql fetch query
" execute, python"
, ; , - : , .
"" connect_and_get_data(query), , , ?
" " ?