CoolDB - это модуль для удобного использования баз данных, таких как sqlite3 и aiosqlite - для синхронного и асинхронного взаимодействия с базами данных
Project description
CoolDB
CoolDB - это модуль для удобного использования баз данных на основе sqlite3 - для синхронного и асинхронного взаимодействия с базами данных.
SyncDataBaseRequests - это надстройка над sqlite3, призванная ускорить работу с базами данных sqlite в синхронном режиме.
Пример синхронного использования
Прелесть синхронного режима функций в том, что мы можем вызывать их, как в синхронном режиме, так и в асинхронном из кроутин, либо блокируя их действие, либо прокидывая их в асинхронный режим, по средствам asyncio.to_thread(). И все таки более предпочтительным будет использовать асинхнонные варианты функций, чтобы попросту экономить мощности.
from CoolDB.SyncDataBaseRequests import RegRequests
def main():
if RegRequests.get_db(
dataBase="path/filename",
table_name="your_table_name",
columns="(name TEXT, age INTEGER, sex TEXT)"
) is False:
return 1
if RegRequetsts.insert_to_db(
dataBase="path/filename",
table_name="your_table_name",
parameters=["Игорь", 41, "Боевой вертолет СУ-34"]
) is False:
return 1
print(RegRequests.fetch_all(
dataBase="path/filename",
table_name="your_table_name"
))
if __name__ == "__main__":
main()
AsyncDataBaseRequests - это надстройка над aiosqlite, призванная ускорить работу с базами данных sqlite в асинхронном режиме.
Пример асинхронного использования
При асинхронном режиме все точно также, только функции вызываются из кроутин.
import asyncio
from CoolDB.AsyncDataBaseRequests import RegRequests
async def main():
if await RegRequests.get_db(
dataBase="path/filename",
table_name="your_table_name",
columns="(name TEXT, age INTEGER, sex TEXT)"
) is False:
return 1
if await RegRequetsts.insert_to_db(
dataBase="path/filename",
table_name="your_table_name",
parameters=["Игорь", 41, "Боевой вертолет СУ-34"]
) is False:
return 1
print(await RegRequests.fetch_all(
dataBase="path/filename",
table_name="your_table_name"
))
if __name__ == "__main__":
asyncio.run(main())
Разница между синхронном и асинхронным режимами в импортруемых модулях и в том, что в асинхронном режими функции вызываются из кроутин с добавлением ключевого слова await.
Документация
В CoolDB собраны регулярные функции взаимодействия с базами данных и помещены в класс RegRequest модуля SyncDataBaseRequests или AsyncDataBaseRequests:
Функция get_db()
Функция get_db() используется для создания таблицы в базе данных, если такой еще не существует. Попутно создает и базу данных, если ее еще не существует.
get_db(dataBase: str, table_name: str, columns: str) -> bool
Функция get_db() принимает три аргумента:
- dataBase - путь до файла базы данных. Должен передаваться в формате строки формата: "path/filename".
Примечания
Предпочтительно хранить файл базы данных не глубже одной поддиректории от main файла
-
table_name - название таблицы в базе данных. Должен передаваться в формате строки.
-
columns - столбцы, с которыми необходимо будет создать базу данных, если она еще не была создана. Должны передаваться в формате строки формата: "(SQL_VARS)".
Пример
parameters = "(name TEXT, age INTEGER, sex TEXT)"
Пример использования:
if RegRequests.get_db(
dataBase="path/filename",
table_name="your_table_name",
columns="(name TEXT, age INTEGER, sex TEXT)"
) is False:
return 1
Примечания
В асинхронном режиме должна вызываться из кроутины и должно присутствовать ключевое слово await.
Функция insert_to_db()
Функция insert_to_db() используется для добавления элементов во все столбцы таблицы. Попутно создает и базу данных, если ее еще не существует.
insert_to_db(dataBase: str, table_name: str, parameters: list) -> bool
Функция insert_to_db() принимает три аргумента:
- dataBase - путь до файла базы данных. Должен передаваться в формате строки формата: "path/filename".
Примечания
Предпочтительно хранить файл базы данных не глубже одной поддиректории от main файла
-
table_name - название таблицы в базе данных. Должен передаваться в формате строки.
-
parameters - параметры, которые необходимо будет поместить в базу данных. Должны передаваться в формате списка из переменных или значений.
Пример использования:
if RegRequests.insert_to_db(
dataBase="path/filename",
table_name="your_table_name",
parameters=[X, Y, N, 42]
) is False:
return 1
Примечания
insert_to_db() записывает значения во все существующие столбцы, поэтому количество передаваемых параметров, должно быть равным количеству существующих столбцов. В асинхронном режиме должна вызываться из кроутины и должно присутствовать ключевое слово await.
Функция insert_to_db_one_par()
Функция insert_to_db_one_par() используется для добавления элемента или элементов в определенный столбец или столбцы таблицы. Попутно создает и базу данных, если ее еще не существует.
insert_to_db_one_par(dataBase: str, table_name: str, column_name: str, parameter: str) -> bool
Функция insert_to_db_one_par() принимает четыре аргумента:
- dataBase - путь до файла базы данных. Должен передаваться в формате строки формата: "path/filename".
Примечания
Предпочтительно хранить файл базы данных не глубже одной поддиректории от main файла
-
table_name - название таблицы в базе данных. Должен передаваться в формате строки.
-
column_name - названия столбца или столбцов, куда необходимо записать значения. Названия столбцов должны передаваться списком из названий в формате строки.
-
parameter - параметр, который необходимо будет поместить в базу данных или несколько параметров для определенных столбцов. Должны передаваться в формате строки формата "'X', 'Y', 'N'".
Пример использования:
if RegRequests.insert_to_db_one_par(
dataBase="path/filename",
table_name="your_table_name",
column_name="forX, forY, forN"
parameter="'X', 'Y', 'N'"
) is False:
return 1
Примечания
В асинхронном режиме должна вызываться из кроутины и должно присутствовать ключевое слово await.
Функция fetch_all_where()
Функция fetch_all_where() используется для извлечения элементов из всех столбцов всех строк, в которых параметр поиска равен значению параметра поиска - условно, извлечь все столбцы всех строк, где айди=13.
fetch_all_where(dataBase: str, table_name: str, condition: str, condition_value: str | int) -> list[dict] | None
Функция fetch_all_where() принимает четыре аргумента:
- dataBase - путь до файла базы данных. Должен передаваться в формате строки формата: "path/filename".
Примечания
Предпочтительно хранить файл базы данных не глубже одной поддиректории от main файла
-
table_name - название таблицы в базе данных. Должен передаваться в формате строки.
-
condition - параметер, по которому будет производится поиск в таблице.
-
condition_value - значение параметра, по которому будет производится поиск в таблице.
Пример использования:
if RegRequests.fetch_all_where(
dataBase="path/filename",
table_name="your_table_name",
condition="id_",
condition_value="121212"
) is None:
return 1
Примечания
В асинхронном режиме должна вызываться из кроутины и должно присутствовать ключевое слово await.
Функция fetch_all()
Функция fetch_all() используется для извлечения всех элементов таблицы.
fetch_all(dataBase: str, table_name: str) -> list[dict] | None
Функция fetch_all() принимает два аргумента:
- dataBase - путь до файла базы данных. Должен передаваться в формате строки формата: "path/filename".
Примечания
Предпочтительно хранить файл базы данных не глубже одной поддиректории от main файла
- table_name - название таблицы в базе данных. Должен передаваться в формате строки.
Пример использования:
if RegRequests.fetch_all(
dataBase="path/filename",
table_name="your_table_name"
) is None:
return 1
Примечания
В асинхронном режиме должна вызываться из кроутины и должно присутствовать ключевое слово await.
Функция fetch_one()
Функция fetch_one() используется для извлечения одного элемента таблицы.
fetch_one(dataBase: str, table_name: str, column_name: str, condition: str, condition_value: str | int) -> str | None
Функция fetch_one() принимает пять аргументов:
- dataBase - путь до файла базы данных. Должен передаваться в формате строки формата: "path/filename".
Примечания
Предпочтительно хранить файл базы данных не глубже одной поддиректории от main файла
-
table_name - название таблицы в базе данных. Должен передаваться в формате строки.
-
column_name - названия столбца, откуда необходимо извлечь значение.
-
condition - параметер, по которому будет производится поиск в таблице.
-
condition_value - значение параметра, по которому будет производится поиск в таблице.
Пример использования:
if RegRequests.fetch_one(
dataBase="path/filename",
table_name="your_table_name",
column_name="XYN",
condition="id_",
condition_value="121212"
) is None:
return 1
Примечания
В асинхронном режиме должна вызываться из кроутины и должно присутствовать ключевое слово await.
Функция fetch_one_column()
Функция fetch_one_column() используется для извлечения всех элементов одного столбца таблицы.
fetch_one_column(dataBase: str, table_name: str, column_name: str, condition: str, condition_value: str | int) -> list | None
Функция fetch_one_column() принимает пять аргументов:
- dataBase - путь до файла базы данных. Должен передаваться в формате строки формата: "path/filename".
Примечания
Предпочтительно хранить файл базы данных не глубже одной поддиректории от main файла
-
table_name - название таблицы в базе данных. Должен передаваться в формате строки.
-
column_name - названия столбца, откуда необходимо извлечь значение.
-
condition - параметер, по которому будет производится поиск в таблице.
-
condition_value - значение параметра, по которому будет производится поиск в таблице.
Пример использования:
if RegRequests.fetch_one(
dataBase="path/filename",
table_name="your_table_name",
column_name="XYN",
condition="id_",
condition_value="121212"
) is None:
return 1
Примечания
В асинхронном режиме должна вызываться из кроутины и должно присутствовать ключевое слово await.
Функция exists_test()
Функция exists_test() используется для проверки существования таблицы.
exists_test(dataBase: str, table_name: str) -> bool
Функция exists_test() принимает два аргумента:
- dataBase - путь до файла базы данных. Должен передаваться в формате строки формата: "path/filename".
Примечания
Предпочтительно хранить файл базы данных не глубже одной поддиректории от main файла
- table_name - название таблицы в базе данных. Должен передаваться в формате строки.
Пример использования:
if RegRequests.exists_test(
dataBase="path/filename",
table_name="your_table_name"
) is False:
return 1
Примечания
В асинхронном режиме должна вызываться из кроутины и должно присутствовать ключевое слово await.
Функция update_table()
Функция update_table() используется для обновления определенного элемента определенного столбца.
update_table(dataBase: str, table_name: str, column_name: str, new_meaning: str, condition: str, condition_value: str | int) -> bool
Функция update_table() принимает шесть аргументов:
- dataBase - путь до файла базы данных. Должен передаваться в формате строки формата: "path/filename".
Примечания
Предпочтительно хранить файл базы данных не глубже одной поддиректории от main файла
-
table_name - название таблицы в базе данных. Должен передаваться в формате строки.
-
column_name - названия столбца, откуда необходимо извлечь значение.
-
new_meaning - новое значение выбранного столбца
-
condition - параметер, по которому будет производится поиск в таблице.
-
condition_value - значение параметра, по которому будет производится поиск в таблице.
Пример использования:
if RegRequests.update_table(
dataBase="path/filename",
table_name="your_table_name",
column_name="XYN",
new_meaning="URAURAURAURAURA"
condition="id_",
condition_value="121212"
) is None:
return 1
Примечания
В асинхронном режиме должна вызываться из кроутины и должно присутствовать ключевое слово await.
Функция delete_from_table()
Функция delete_from_table() используется для удаления строки, в столбце которой есть совпадения с условием.
delete_from_table(dataBase: str, table_name: str, condition: str, condition_value: str | int) -> bool
Функция delete_from_table() принимает четыре аргумента:
- dataBase - путь до файла базы данных. Должен передаваться в формате строки формата: "path/filename".
Примечания
Предпочтительно хранить файл базы данных не глубже одной поддиректории от main файла
-
table_name - название таблицы в базе данных. Должен передаваться в формате строки.
-
condition - параметер, по которому будет производится поиск в таблице.
-
condition_value - значение параметра, по которому будет производится поиск в таблице.
Пример использования:
if RegRequests.delete_from_table(
dataBase="path/filename",
table_name="your_table_name",
condition="id_",
condition_value="121212"
) is False:
return 1
Примечания
В асинхронном режиме должна вызываться из кроутины и должно присутствовать ключевое слово await.
Функция delete_table()
Функция delete_table() используется для удаления всех таблицы избазы данных.
delete_table(dataBase: str, table_name: str) -> bool
Функция delete_table() принимает два аргумента:
- dataBase - путь до файла базы данных. Должен передаваться в формате строки формата: "path/filename".
Примечания
Предпочтительно хранить файл базы данных не глубже одной поддиректории от main файла
- table_name - название таблицы в базе данных. Должен передаваться в формате строки.
Пример использования:
if RegRequests.delete_table(
dataBase="path/filename",
table_name="your_table_name"
) is False:
return 1
Примечания
В асинхронном режиме должна вызываться из кроутины и должно присутствовать ключевое слово await.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.