Тема: Класс для роботи sqlite подивіться будьласка.
Прошу тих хто шарить. Подивіться будьласка на класс для роботи sqlite чи він може рахуватись адекватно написаним ?
Що треба поправити
# -*- coding: utf-8 -*-
import sqlite3
class SQLighte():
    def __init__(self, database = "users.db", telegram_id):
        self.connection = sqlite3.connect(database)
        self.cursor = self.connection.cursor()#open database
        self.table_name = "a"+telegram_id#Ім'я таблиці в sqlite мусить починатись злітери
    def create_table(self):#Створює таблицю в базі данних для кожного нового юзера де table_name id користувача в телеграм
        try:
            self.cursor.execute(f"CREATE TABLE {self.table_name} (id integer, name text, satiety integer, satiety_cykle integer, bag text, emotion text, despair integer, pers_history text)")
            return(True)
        except sqlite3.OperationalError: # ...якщо юзер є в базі данних то ...
            return(False)
    def deleted_table(self):#Видаляєм таблицю з бази
        try:
            self.cursor.execute(f"DROP TABLE {self.table_name}")
            return(True)
        except sqlite3.OperationalError: # таблиця з іменем не знайдена
            print("No such user was found")
            return(False)
    def write_starting_data_to_table(self, data):#Запис початкових данних для окремрго користувача до бази данних
        numbers = range(len(data))
        with self.connection:
            try:
                for number in numbers:
                    self.cursor.execute(f"INSERT INTO {self.table_name} Values(?,?,?,?,?,?,?,?)", ( data[number][0], data[number][1], data[number][2], data[number][3], data[number][4],data[number][5], data[number][6], data[number][7], ))
                    return True:
            except IndexError:
                return False)
    def select_single(self, rownumber, column, xdata):#Получаєм рядок з таблиці table_name в котрому в колонці column значення==xdata
        with self.connection:
            try:
                return self.cursor.execute(f"SELECT * FROM {self.table_name} WHERE {column} = ?", (xdata,)).fetchall()[0]
            except IndexError :
                return(None)
    def edit_user_data(self,replace_column, replace_data, condition_column, condition_data):#Невпевненмй що ця функція робоча
    """
        replace_column - стовбець в якому буде перезаписано дані
        replace_data - нові дані котрі треба записати в таблицю
        condition_column - стовбець уова має дорівнювати с condition_data(дані для порівняння)
    """
        with self.connection:
            try:
                self.cursor.execute(f"UPDATE {self.table_name} SET{replace_column}={replace_data} WHERE {condition_column}={condition_data}"
                return(True)
            except IndexError & sqlite3.OperationalError:
                return(False)
    def __del__(self):#Зберігаєм зміни та закриваєм поточне з'єднання з БД """
        self.connection.commit()
        self.connection.close().


