Skip to main content

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)

Source distribution for Rsql 1.1
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)

Table of built distributions (wheels) for Rsql 1.1
File Interpreter ABI Platform Actions
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page