def UPD_in_db(name, date, ank, idd):
conn = sqlite3.connect('baza.sql')
cur = conn.cursor()
cur.execute("UPDATE users SET name = ? date = ? ank = ? WHERE gi = ?", (name, date, ank, idd))
conn.commit()
cur.close()
conn.close()
UPD_in_db(Anton, 05 mar, Olala lalala, id99938)
import sqlite3
def update_db(**params):
# Если 'idd' нет в параметрах
if 'idd' not in params:
raise ValueError("Ты забыл передать 'idd'! Это обязательно.")
# Достаем 'idd' из параметров
user_id = params.pop('idd')
# Создаем строку для SQL запроса
set_clause = ', '.join(f"{key} = ?" for key in params.keys())
query = f"UPDATE users SET {set_clause} WHERE gi = ?"
# Подготавливаем значения для SQL запроса
values = list(params.values()) + [user_id]
# Подключаемся к БД
with sqlite3.connect('baza.sql') as conn:
cur = conn.cursor()
cur.execute(query, values)
conn.commit()
update_db(name="Антон", date="05 марта", ank="Ой всё!", idd="id99938")
update_db(name="Сергей", idd="id99939")
def UPD_in_db(condition, **kwargs):
with sqlite3.connect('baza.sql') as conn:
with conn.cursor() as cur:
items = kwargs.items() # Для совместимости со старыми версия Python, у которых несортированный словарь
statement = 'UPDATE users SET ' + ', '.join(k + ' = ?' for k, v in items) + ' WHERE gi = ?'
params = tuple(v for k,v in items) + (condition,)
cur.execute(statement, params)
conn.commit()
UPD_in_db(99938, name='John', ank='lalala')