Tôi nghĩ đây là những gì bạn đang tìm kiếm.
def connect_and_get_data(query, data):
...
cursor.execute(query, data)
...
def get_data_about_first_amazing_topic(useful_string):
query = "SELECT ... FROM ... WHERE ... AND some_field=%s"
connect_and_get_data(query, ("one","two","three"))
...
Tuy nhiên, nếu bạn định thực hiện một số truy vấn nhanh chóng, thì tốt hơn là bạn nên sử dụng lại kết nối của mình, vì tạo quá nhiều kết nối có thể lãng phí thời gian.
...
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", ("first", "amazing", "topic"))
first_result = cursor.fetchall()
cursor.execute("SELECT ... FROM ... WHERE ... AND some_field=%s", (("first", "amazing", "topic")))
second_result = cursor.fetchall()
cursor.close()
...
Điều này sẽ làm cho mã của bạn hoạt động tốt hơn nhiều.