Skip to main content

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

Project description

TeleSQL

TeleSQL — это Python-библиотека для управления таблицами MySQL через код. 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.0.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.0-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: telesql-0.2.0.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.0.tar.gz
Algorithm Hash digest
SHA256 69d81fb7fa7df1a32a8900ae7b9903a0364bf9be97960610407eb254d4f13a8b
MD5 92a6d90b98d0f00c7893b913f225644a
BLAKE2b-256 0b58dc2813169787123a8b30405b539266bffa45afd289179e8edd31a518e920

See more details on using hashes here.

File details

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

File metadata

  • Download URL: telesql-0.2.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 48eba807ab1b9fa7d012cfd70fe5f930b17b172309fc0369ec57e3a3ceeeb746
MD5 ad8a0adddb5bc3641fb37e8cda0d641e
BLAKE2b-256 000e11a3c2e66b6d7c90fb4fa242f50a4b24e8455ce14461bd80bb229b2ac9ba

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