sql >> Database >  >> RDS >> Mysql

Verschillende query's uitvoeren met mysql-python

Ik denk dat dit is wat je zoekt.

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"))
    ...

Maar als u snel meerdere zoekopdrachten gaat uitvoeren, is het beter om uw verbinding opnieuw te gebruiken, omdat het maken van te veel verbindingen tijd kan verspillen.

...
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()
...

Hierdoor zal je code veel beter presteren.



  1. Heroku - dump en laad enkele tabel naar gedeelde postgres-database

  2. Vul ontbrekende rijen in bij aggregatie over meerdere velden in Postgres

  3. Vanwege een syntaxisfout wordt de tabel niet gemaakt in DB

  4. Splits string in tokens in pl sql