MySQLdb Обясните как работать с базами

145
22 апреля 2022, 23:10

Есть этот код, он по идеи ищет по базе ID того кто прислал сообщение но как мне возвращать не одну строчку с ID а всю строку со всема параметрами которые находятся там типа (id в базе, ID того кто написал, его баланс и тд), дальше как мне сделать изменение в базе например внести этому человеку на баланс игровую валюту?

import MySQLdb
db = MySQLdb.connect("<адресс базы>","<логин>","<пароль>","<имя базы>", charset='utf8')
cursor = db.cursor()
cursor.execute("SELECT vk_id FROM vk WHERE vk_id = Тут айди для поиска по базе")
row = cursor.fetchone()
print(row)
Answer 1

Читайте в целом про SQL. Чтобы вместо одной колонки вернуть все достаточно указать *, то есть

SELECT * FROM vk WHERE vk_id=id

Вернется скорее всего ассоциативный массив значений, где ключ название колонки (не помню как называется в Python, кортеж вроде).

Чтобы поменять что-то в БД SQL, используется команда UPDATE (названия полей взял от балды, так как не знаю какие конкретной у вас в таблице)

UPDATE vk SET vk_money=money WHERE vk_id=id

ЗЫ: И да, при передаче данных в строку запроса через execute используйте подставноку данных правильно, в стиле

cursor.execute("SELECT * FROM vk WHERE vk_id=%s", id) 

Это убережет вас в будущем от некоторых проблем.

READ ALSO
mySQL, PHP: два AND после BETWEEN - что бы это значило?

mySQL, PHP: два AND после BETWEEN - что бы это значило?

Есть чужой (рабочий) код вида:

127
Кастомный ID для таблицы Laravel

Кастомный ID для таблицы Laravel

На собеседовании меня спросили: сделайте ID - идентификатор валюты, который возвращает метод (пример: R01010) Но я ничего не понялЧто значит "возвращает...

252
В mysql workbench не могу найти my.ini

В mysql workbench не могу найти my.ini

Всем добрый деньВ mysql workbench (8) указан путь к файлу my

118
Mysql триггер - условие WHERE возможно?

Mysql триггер - условие WHERE возможно?

По данному триггеру ошибка , что не верное условиеИспользование WHERE вроде бы возможно

222