Не могу создать SQL запрос

Нужно сделать, чтобы тг бот писал юзеру его статус(который равен 0 или 1). Я не шарю в sql и сам пайтон изучаю 5 день, мне нужно возращать в bot.py из sqlcfg.py переменную status, значение которой будет браться из базы. После бота думаю прочитать учебник по sql, если можете, то посоветуйте какой-нибудь. Код прилагаю:

    def check_user_status(self, user_id, status):
        with self.connection:
            self.cursor.execute("SELECT `status` FROM `userinfo` WHERE `user_id` = ?", (status, )).fetchall()

После этого хз что писать


Ответы (1 шт):

Автор решения: gil9red

Чтобы получить из базы значение одной записи используйте fetchone

Так вытаскиваем статус юзера из базы, проверяем что данные в таблице нашлись и после сравниваем status, переданный в функцию, с статусом из базы:

sql = "SELECT `status` FROM `userinfo` WHERE `user_id` = ?"
rs = self.cursor.execute(sql, (user_id, )).fetchone()
user_status = rs[0] if rs else None
return user_status == status

А так проверяем, что есть в базе такой юзер и с таким статусом (если не найдется, то вернет None):

sql = "SELECT 1 FROM `userinfo` WHERE `user_id` = ? and status = ?"
rs = self.cursor.execute(sql, (user_id, status)).fetchone()
return bool(rs)
→ Ссылка