Простая обёртка для 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')
Методы:
- TeleSQL.create_table() - создает таблицу в базе данных.
- TeleSQL.get_table() - получает
Tableпо имени таблицы.
Table
Класс для работы с таблицей
table = TeleSQL.create_table('table',columns) # type: Table
Методы:
-
Table.add_user() - добавляет пользователя в таблицу
-
Table.user_exists() - проверяет существует ли пользователь в таблице
-
Table.update_user_set() - обновляет значения в таблице
-
Table.update_user_add() - увеличивает значение в таблице
-
Table.update_user_sub() - уменьшает значение в таблице
-
Table.get_column_user() - получает значение пользователя по столбцу
-
Table.delete_user() - удаляет пользователя из таблицы
-
Table.get_user() - получает пользователя по id
-
Table.get_all_users() - получает всех пользователей
-
Table.filter_users_less() - получает пользователей по условию (меньше заданного значения)
-
Table.filter_users_more() - получает пользователей по условию (больше заданного значения)
-
Table.filter_users_equal() - получает пользователей по условию (равно заданному значению)
Методы
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 -
intTelegram ID пользователя -
data -
dictсловарь с данными пользователя.
user_exists(id)
Проверяет на наличие пользователя в таблице.
- id -
intTelegram ID пользователя.
Возвращает True если пользователь есть в таблица, False в противном случае.
update_user_set(id,column,value)
Устанавливает значение в ячейке таблицы.
- id -
intTelegram ID пользователя. - column -
strимя столбца. - value - {в зависимости от типа столбца} значение ячейки.
update_user_add(id,column,add_value)
Увеличивает значение в ячейке таблицы.
- id -
intTelegram ID пользователя. - column -
strимя столбца. - add_value -
int | floatЗначение для увеличения
update_user_sub(id,column,sub_value)
Уменьшает значение в ячейке таблицы. Обертка для update_user_add
- id -
intTelegram ID пользователя. - column -
strимя столбца. - sub_value -
int | floatЗначение для уменьшения
get_column_user(id,column)
Получает значение из ячейки таблицы.
- id -
intTelegram ID пользователя. - column -
strимя столбца.
Возвращает значение ячейки.
delete_user(id)
Удаление пользователя по id
- id -
intTelegram ID пользователя.
get_user(id)
Получает данные пользователя по ID.
- id -
intTelegram 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fcd67f2df72e2a22deef116a37d14348c501e434d75481aedb64534190e0af15
|
|
| MD5 |
33c4e0f4cb3e1973fc9ee9b58c12e6f1
|
|
| BLAKE2b-256 |
267d4d6f618a2f7d655c0d364577d1dae20433d322fac1fd859ac9d90b287613
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f0ac0d4e857a64d2e5c51356921f3f47eb640ce930d91163bcddd2d89f2bda62
|
|
| MD5 |
4b254d14d3e362a622c8b69889293f77
|
|
| BLAKE2b-256 |
10b0a6b7af33c79cf1955bd2daf48f3b0d10e489ca55592927a898677ffcd8d2
|