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.1.2.tar.gz (10.8 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.1.2-py3-none-any.whl (10.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for telesql-0.1.2.tar.gz
Algorithm Hash digest
SHA256 d51a73ba231df619133d8d04eab399844e05dc14243810bd79c118ebde3063b1
MD5 70764e94b00c2121ac5f75e1cc9d442a
BLAKE2b-256 47390447d85a817bcecea8ba99468f6e5f8323facc4630ba2b418811004d76b6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: telesql-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 10.7 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.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b4d210a097df17d935541d6cabbcae2e6633aa11673476a2af2d44aa6e28b4be
MD5 d72ae65ad46ba0819129a76cce68d8ea
BLAKE2b-256 822a01ce8c1b3bec9dfcafeb38f796563726c2638a6d7868a7af482671df33c2

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