A simple library for working with SQLite3 databases.
Project description
QuickSQL3
English
QuickSQL3 is a Python library designed to simplify working with SQLite databases. It provides an intuitive API for performing common database operations such as creating tables, inserting data, querying, updating, and deleting records. The library is ideal for beginners or those who want to avoid writing raw SQL queries.
Features
- Simple API: Easily create tables, insert data, and query records without writing SQL.
- Error Handling: Built-in error handling to help you debug issues.
- Flexible: Supports both synchronous and asynchronous operations.
- Type Annotations: Fully typed for better code clarity and IDE support.
Installation
You can install the library using pip:
pip install QuickSQL3
Documentation
Synchronous Methods
from QuickSQL3 import Database
create_table(table_name: str, columns: Dict[str, str]) -> None
insert(table_name: str, data: Dict[str, Any]) -> None
select(table_name: str, where: Optional[str] = None) -> List[Dict[str, Any]]
update(table_name: str, data: Dict[str, Any], where: str) -> None
delete(table_name: str, where: str) -> None
close() -> None
Asynchronous Methods
from QuickSQL3 import AsyncDatabase
create_table(table_name: str, columns: Dict[str, str]) -> None
insert(table_name: str, data: Dict[str, Any]) -> None
select(table_name: str, where: Optional[str] = None) -> List[Dict[str, Any]]
update(table_name: str, data: Dict[str, Any], where: str) -> None
delete(table_name: str, where: str) -> None
close() -> None
Example
from QuickSQL3 import Database
db = Database("app.db")
db.create_table("users", {
"id": "INTEGER PRIMARY KEY",
"name": "TEXT",
"age": "INTEGER"
})
db.insert("users", {"name": "Алиса", "age": 25})
db.insert("users", {"name": "Боб", "age": 30})
db.insert("users", {"name": "Чарли", "age": 35})
users = db.select("users", where="age > 20")
print("Пользователи старше 20 лет:")
for user in users:
print(user)
db.update("users", {"age": 26}, where="name = 'Алиса'")
updated_users = db.select("users", where="name = 'Алиса'")
print("\nОбновленные данные Алисы:")
for user in updated_users:
print(user)
db.delete("users", where="age < 18")
db.close()
Contributing
Contributions are welcome! Please open an issue or submit a pull request on GitHub.
License
This project is licensed under the MIT License.
Русский
QuickSQL3 — это библиотека на Python, предназначенная для упрощения работы с базами данных SQLite. Она предоставляет интуитивно понятный API для выполнения таких операций, как создание таблиц, вставка данных, запросы, обновление и удаление записей. Библиотека идеально подходит для новичков или тех, кто хочет избежать написания сырых SQL-запросов.
Возможности
- Простой API: Легко создавайте таблицы, вставляйте данные и выполняйте запросы без написания SQL.
- Обработка ошибок: Встроенная обработка ошибок для упрощения отладки.
- Гибкость: Поддержка как синхронных, так и асинхронных операций.
- Типизация: Полная поддержка аннотаций типов для улучшения читаемости кода и поддержки IDE.
Установка
Установите библиотеку с помощью pip:
pip install QuickSQL3
Документация
Синхронные методы
from QuickSQL3 import Database
create_table(table_name: str, columns: Dict[str, str]) -> None
insert(table_name: str, data: Dict[str, Any]) -> None
select(table_name: str, where: Optional[str] = None) -> List[Dict[str, Any]]
update(table_name: str, data: Dict[str, Any], where: str) -> None
delete(table_name: str, where: str) -> None
close() -> None
Асинхронные методы
from QuickSQL3 import AsyncDatabase
create_table(table_name: str, columns: Dict[str, str]) -> None
insert(table_name: str, data: Dict[str, Any]) -> None
select(table_name: str, where: Optional[str] = None) -> List[Dict[str, Any]]
update(table_name: str, data: Dict[str, Any], where: str) -> None
delete(table_name: str, where: str) -> None
close() -> None
Пример
from QuickSQL3 import Database
db = Database("app.db")
db.create_table("users", {
"id": "INTEGER PRIMARY KEY",
"name": "TEXT",
"age": "INTEGER"
})
db.insert("users", {"name": "Алиса", "age": 25})
db.insert("users", {"name": "Боб", "age": 30})
db.insert("users", {"name": "Чарли", "age": 35})
users = db.select("users", where="age > 20")
print("Пользователи старше 20 лет:")
for user in users:
print(user)
db.update("users", {"age": 26}, where="name = 'Алиса'")
updated_users = db.select("users", where="name = 'Алиса'")
print("\nОбновленные данные Алисы:")
for user in updated_users:
print(user)
db.delete("users", where="age < 18")
db.close()
Участие
Мы приветствуем ваши contributions! Пожалуйста, создайте issue или отправьте pull request на GitHub.
Лицензия
Этот проект лицензирован под MIT License.
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 quicksql3-0.1.3.tar.gz.
File metadata
- Download URL: quicksql3-0.1.3.tar.gz
- Upload date:
- Size: 9.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fd61ee02bc694d63fab11d0be28950b9cc8e3c59776f1a907ded1bbbc06bb2a6
|
|
| MD5 |
36a9c6dfc11db504565338615ad54fe0
|
|
| BLAKE2b-256 |
9a9f6a0ea1dee618baf8d62a73ac3dd785f97ccf18176273be08d1af39ad9070
|
File details
Details for the file quicksql3-0.1.3-py3-none-any.whl.
File metadata
- Download URL: quicksql3-0.1.3-py3-none-any.whl
- Upload date:
- Size: 9.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
46dee4ffb63714be07d666899818b9a7864ffeda3d1e128bf1702805c1167422
|
|
| MD5 |
c88d0b75a03e3105e00bf5188ea4c350
|
|
| BLAKE2b-256 |
13cc82869bb2e5b7224145d4c3b33ff7c97cd4af4f2f0550b0a325b2022b317b
|