Rsql
Чистые и быстрыее sql запросы для python. Если вы по какой то причине не хотите использовать ORM, то этот пакет создан для вас. Минимальный вес, интерфейс и весь SQL в ваших руках!
Поддержка:
- MySQL 8
- SQLite 3
- Postgresql 10
Всего 3 шага для работы с пакетом:
- [Установка] соединения и настройка
- Запрос на все виды [изменения] Db.set( "INSERT INTO ...", (params))
- Запрос на все виды [получения] Db.get( "SELECT * FROM ....", (params))
Пакет базируется на включенном в Python коннектор Sqlite Сторонних: Pymysql для Mysql и Psycopg для Postgresql
Installation
Советуем использовать Python v.3.6+
$ cd your project
$ pip install Rsql
Mysql
$ from Rsql.Rmysql import Rmysql
$ db = Rmysql('0.0.0.0', 'test', 'root', 'root', 3307)
$ db.set("INSERT INTO pet (name, owner, species, sex) VALUES(%s, %s, %s, %s)", ('Rex', 'Alex', 'dogger', 1))
$ print(db.get("SELECT name FROM pet"))
Postgresql
$ from Rsql.Rpostgres import Rpostgres
$ db = Rpostgres('0.0.0.0', 'test', 'root', 'root', 5432)
$ db = db.set("INSERT INTO users (id, name) VALUES(1, 'Alex')" )
$ db = db.set("INSERT INTO users (id, name) VALUES(%s, %s)", (2, 'Joan'))
$ print(db.get("SELECT * FROM users WHERE id > %s", ('1')))
*всегда используйте %s в серверных базах данных как Mysql, Postgresql Параметры следует писать отдельно для избежения SQL инъекций
SQlite
$ from Rsql.Rsqlite import Rsqlite
--- необязательный параметр абсолютного пути для хранения базы---
import os
dir_path = os.path.dirname(os.path.realpath(__file__))
$ db = Rsqlite('lend.db', path=dir_path+'/')
$ db.set('CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(40), age INT)')
$ db.set("INSERT INTO users (name, age) VALUES(?, ?)", [('Alex', 22), ('Peter', 55)])
$ db.set("INSERT INTO users (name) VALUES(?)", [('Alex',)])
$ db.set("INSERT INTO users (name,age) VALUES('Joan', 30)", )
$ print(db.get("SELECT * FROM users WHERE age < 25"))
$ print(db.get("SELECT * FROM users WHERE age > ? AND name = ?", ('25', 'Joan') ))
License
MIT
Metadata
Release files for Rsql 1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| Rsql-1.1.tar.gz | 3.3 kB | Without provenance | Details for Rsql-1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| Rsql-1.1-py3-none-any.whl | Python 3 | none | any | Details for Rsql-1.1-py3-none-any.whl |
Total release size: 8.3 kB
Release files / Rsql-1.1.tar.gz
| Download URL | Rsql-1.1.tar.gz |
|---|---|
| Size | 3.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
889db0d9a38d4a936e32095281a62aa1ffda39f55ffb17c7cd7a52b46bdae588
|
|
BLAKE2b-256 checksum How to use checksums |
fbc665d81f6a231d12869efa013659935639f8236bab57e8cf5a05ad417bf0c9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/2.7.15rc1
|
Release files / Rsql-1.1-py3-none-any.whl
| Download URL | Rsql-1.1-py3-none-any.whl |
|---|---|
| Size | 4.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3ea252ef8d4ae45935ff0a260e157c304a08289869ee6f72305f0eaddb816b1e
|
|
BLAKE2b-256 checksum How to use checksums |
3380b9fdfa664274cdfe8faa96fa6a561cada405c37ad3793c287f0279584734
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/2.7.15rc1
|
Security for Rsql 1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.