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.3.tar.gz (11.5 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.3-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: telesql-0.2.3.tar.gz
  • Upload date:
  • Size: 11.5 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.3.tar.gz
Algorithm Hash digest
SHA256 27318a5ada7e7ecf4ccd2a6a7af21a962b70ba7a562f2c147ef56346404772f7
MD5 1dfa13b6318fe0b87db2399861804100
BLAKE2b-256 4352489c7d90e1188ada6c2325df13ac612f6427ca16856a9ffa3637a8f5ef17

See more details on using hashes here.

File details

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

File metadata

  • Download URL: telesql-0.2.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f26c4534cda3f4ab65de004bee7fef4481fcda43916b888e1b1f7b3a37137ef6
MD5 ebd09781829ec2c2c01ddf1492bdf588
BLAKE2b-256 aaa92620868b792dda8d7a8f9b922ce971f2fa520f5a3c55f3c10c87653d345c

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