password="***",
host="127.0.0.1",
port="****",
database="****")
cursor = connection.cursor()
cursor.execute(sql)
connection.commit()
connection.close()
подскажите так правильно, чтобы функция выполняла операции в бд, принимая переменную sql?
ну у меня во время работы программы много обращений в бд, я собственно поэтому и здесь, чтобы узнать как правильнее сделать
создать коннект и передавать его аргументом в функции, которые делают запросы
import psycopg2 def db_operations(): connection = psycopg2.connect(user="postgres", password="***", host="127.0.0.1", port="****", database="****") return connection def other_func(db_operations): telephone = 5555555 id_user = 1 sql= """INSERT INTO table (phone, id) VALUES (%s,%s)""" cursor.execute(sql,(telephone, id_user)) connection.commit() connection.close() так?
лучше уж делай отдельный класс, а не функции
def create_connection(): ... def execute_query(connection): cursor = connection.cursor() cursor.execute(...) cursor.close() def main(): conn = create_connection() execute_query(conn) conn.close()
благодарю, пытаюсь понять
Обсуждают сегодня