SmartSQL - lightweight sql builder.
Project description
SmartSQL - lightweight Python sql builder, follows the KISS principle. Supports Python2 and Python3.
You can use SmartSQL separatelly, or with Django, or with super-lightweight Ascetic ORM, or with super-lightweight datamapper Openorm (miror) etc.
Home Page: https://bitbucket.org/emacsway/sqlbuilder
Browse source code (canonical repo): https://bitbucket.org/emacsway/sqlbuilder/src
GitHub mirror: https://github.com/emacsway/sqlbuilder
Get source code (canonical repo): hg clone https://bitbucket.org/emacsway/sqlbuilder
Get source code (mirror): git clone https://github.com/emacsway/sqlbuilder.git
LICENSE:
License is BSD
Quick start
>>> from sqlbuilder.smartsql import Q, T, compile >>> compile(Q().tables( ... (T.book & T.author).on(T.book.author_id == T.author.id) ... ).columns( ... T.book.name, T.author.first_name, T.author.last_name ... ).where( ... (T.author.first_name != 'Tom') & (T.author.last_name != 'Smith') ... )[20:30]) ('SELECT "book"."name", "author"."first_name", "author"."last_name" FROM "book" INNER JOIN "author" ON ("book"."author_id" = "author"."id") WHERE "author"."first_name" <> %s AND "author"."last_name" <> %s LIMIT %s OFFSET %s', ['Tom', 'Smith', 10, 20])
Django integration
Simple add “django_sqlbuilder” to your INSTALLED_APPS.
>>> object_list = Book.s.q.tables( ... (Book.s & Author.s).on(Book.s.author == Author.s.pk) ... ).where( ... (Author.s.first_name != 'James') & (Author.s.last_name != 'Joyce') ... )[:10]
More info
See docs on https://sqlbuilder.readthedocs.io/
P.S.: See also article about SQLBuilder in English and in Russian.
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.
Source Distribution
File details
Details for the file sqlbuilder-0.7.10.18.tar.gz
.
File metadata
- Download URL: sqlbuilder-0.7.10.18.tar.gz
- Upload date:
- Size: 62.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 616af8a4a88c8c9dc01612f2fe80c2ca96e4cd0708d192cf63fc62387db92193 |
|
MD5 | 2d7d5b0b846dbe3d6a8530c525d80885 |
|
BLAKE2b-256 | 21859fb7ddec662875f507a2fc57483546a6fcaf138027a1a8e0612664015e4d |