Skip to main content

Простая обёртка для MySQL в Telebot

Project description

TeleSQL

TeleSQL — это Python-библиотека для управления таблицами MySQL через код. TeleSQL настроен на создание вместе с телеграмм ботами. Он позволяет создавать таблицы, а также изменять их.

Установка

pip install telesql

Примеры использования

from telesql import TeleSQL
from telesql.types import sqltypes

db = TeleSQL(host='localhost',user='user',password=12345,database='database')

columns={
    'id':sqltypes.BIGINT(primary_key=True),
    'balance': sqltypes.DECIMAL(10,2),
    'refferals': sqltypes.INT(default=0)
}

table = db.create_table(table_name='Users',columns=columns)

data={
    'balance':10.42,
    'refferals': 10
}

table.add_user(id=123,data=data)

Документация

Классы

TeleSQL

Класс для работы с базой данных Telegram.

tele = TeleSQL(host='localhost', user='root', password='password', database='my_database')

Методы:


Table

Класс для работы с таблицей

table = TeleSQL.create_table('table',columns) # type: Table

Методы:


Методы

create_table(table_name, columns)

Создает новую таблицу в базе данных.

  • table_name - str имя таблицы

  • columns - dict словарь объектов sqltypes с именами столбцов и их типами.

Возвращает объект Table


get_table(table_namr)

Получает объект Table из существующей таблицы.

  • table_name - str имя таблицы.

Возвращает объект Table


add_user(id,data)

Добавляет нового пользователя в таблицу.

  • id - int Telegram ID пользователя

  • data - dict словарь с данными пользователя.

user_exists(id)

Проверяет на наличие пользователя в таблице.

  • id - int Telegram ID пользователя.

Возвращает True если пользователь есть в таблица, False в противном случае.


update_user_set(id,column,value)

Устанавливает значение в ячейке таблицы.

  • id - int Telegram ID пользователя.
  • column - str имя столбца.
  • value - {в зависимости от типа столбца} значение ячейки.

update_user_add(id,column,add_value)

Увеличивает значение в ячейке таблицы.

  • id - int Telegram ID пользователя.
  • column - str имя столбца.
  • add_value - int | float Значение для увеличения

update_user_sub(id,column,sub_value)

Уменьшает значение в ячейке таблицы. Обертка для update_user_add

  • id - int Telegram ID пользователя.
  • column - str имя столбца.
  • sub_value - int | float Значение для уменьшения

get_column_user(id,column)

Получает значение из ячейки таблицы.

  • id - int Telegram ID пользователя.
  • column - str имя столбца.

Возвращает значение ячейки.


delete_user(id)

Удаление пользователя по id

  • id - int Telegram ID пользователя.

get_user(id)

Получает данные пользователя по ID.

  • id - int Telegram ID пользователя.

Возвращает словарь значений всех колонок для этого пользователя


get_all_users()

Получает данные всех пользователей.

Возвращает список словарей значений всех колонок для каждого пользователя


filter_users_less(column,value)

Получает данные отфилированных пользователей по заданному условию.(меньше заданного значения)

Аналоги

  • filter_users_more(column,value) - больше заданного значения
  • filter_users_equal(column,value) - равно заданному значению

  • column - str имя столбца.
  • value - int | float значение.

Типы данных

Поддерживаемые типы данных:

  • INT
  • BIGINT
  • SMALLINT
  • FLOAT
  • DECIMAL
  • DOUBLE
  • TEXT
  • VARCHAR
  • CHAR
  • DATE
  • DATETIME
  • BOOLEAN

Пример указания типа при создании таблицы:

columns={
    'id': sqltypes.INT(primary_key=True)
    'balance': sqltypes.DECIMAL(10,2,nullable=False,default=0)
}

Возможные аргументы для всех типов:

  • primary_key=True - указывает, что столбец является первичным ключом таблиц
  • nullable=False - указывает, что столбец не может быть null
  • default=0 - указывает значение по умолчанию для столбца
  • unique=True - указывает, что значение уникально для каждого пользователя

Для типов INT, BIGINT, SMALLINT доступны следующие аргументы:

  • auto_increment=True - указывает, что столбец будет автоматически увеличиваться

Для типов FLOAT, DECIMAL, DOUBLE доступны следующие аргументы:

  • scale=2 - указывает количество знаков после запятой
  • precision=10 - указывает общее количество знаков(для DECIMAL)

Для типов TEXT, VARCHAR, CHAR доступны следующие аргументы:

  • length=255 - указывает длину строки

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

telesql-0.2.2.tar.gz (11.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

telesql-0.2.2-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

File details

Details for the file telesql-0.2.2.tar.gz.

File metadata

  • Download URL: telesql-0.2.2.tar.gz
  • Upload date:
  • Size: 11.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for telesql-0.2.2.tar.gz
Algorithm Hash digest
SHA256 4017a45a46683797abb31c3d0ea960d1f5184f3c0ad1671b4b8ebe87d821763d
MD5 eab106171ba9f9d9d6d98e6fa35eb6cf
BLAKE2b-256 1b7d88910dda95b2098e3c966d948e3ada434a69e1abfb98e38cf7deee2948ab

See more details on using hashes here.

File details

Details for the file telesql-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: telesql-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 11.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for telesql-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 728387fe7f69e1040e3bc828ed365ddcb1f41e1e0a1fe4334f0952414eb9c8b4
MD5 fd062c389f5a3a683d9909bdb7eef837
BLAKE2b-256 d58071aef49623c56559473c0fbc5b03dcaa7fb8a93e846a42ea4fc1a6dac713

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page