Skip to main content

Rsql

Project description

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

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

Rsql-1.1.tar.gz (3.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

Rsql-1.1-py3-none-any.whl (4.9 kB view details)

Uploaded Python 3

File details

Details for the file Rsql-1.1.tar.gz.

File metadata

  • Download URL: Rsql-1.1.tar.gz
  • Upload date:
  • Size: 3.3 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for Rsql-1.1.tar.gz
Algorithm Hash digest
SHA256 889db0d9a38d4a936e32095281a62aa1ffda39f55ffb17c7cd7a52b46bdae588
MD5 af2ac47087485883e0a06dc1c1bfafb8
BLAKE2b-256 fbc665d81f6a231d12869efa013659935639f8236bab57e8cf5a05ad417bf0c9

See more details on using hashes here.

File details

Details for the file Rsql-1.1-py3-none-any.whl.

File metadata

  • Download URL: Rsql-1.1-py3-none-any.whl
  • Upload date:
  • Size: 4.9 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for Rsql-1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3ea252ef8d4ae45935ff0a260e157c304a08289869ee6f72305f0eaddb816b1e
MD5 f228dd141a6b83c2c56b1a3ce7890c7a
BLAKE2b-256 3380b9fdfa664274cdfe8faa96fa6a561cada405c37ad3793c287f0279584734

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page