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.1.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.1-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: telesql-0.2.1.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.1.tar.gz
Algorithm Hash digest
SHA256 fcd67f2df72e2a22deef116a37d14348c501e434d75481aedb64534190e0af15
MD5 33c4e0f4cb3e1973fc9ee9b58c12e6f1
BLAKE2b-256 267d4d6f618a2f7d655c0d364577d1dae20433d322fac1fd859ac9d90b287613

See more details on using hashes here.

File details

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

File metadata

  • Download URL: telesql-0.2.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f0ac0d4e857a64d2e5c51356921f3f47eb640ce930d91163bcddd2d89f2bda62
MD5 4b254d14d3e362a622c8b69889293f77
BLAKE2b-256 10b0a6b7af33c79cf1955bd2daf48f3b0d10e489ca55592927a898677ffcd8d2

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