New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

simple-query-builder

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

simple-query-builder

This is a small easy-to-use component for working with a database. It provides some public methods to compose SQL queries and manipulate data. Each SQL query is prepared and safe.

  • 0.4
  • PyPI
  • Socket score

Maintainers
1

QueryBuilder python module

Latest Version GitHub repo size GitHub license Python 3.7, 3.8, 3.9, 3.10, 3.11, 3.12 PyPI PyPI - Downloads

This is a small easy-to-use module for working with a database. It provides some public methods to compose SQL queries and manipulate data. Each SQL query is prepared and safe. QueryBuilder fetches data to dictionary by default. At present time the component supports SQLite (file or memory).

Contributing

Bug reports and/or pull requests are welcome

License

The module is available as open source under the terms of the MIT license

Installation

Install the current version with PyPI:

pip install simple-query-builder

Or from Github:

pip install https://github.com/co0lc0der/simple-query-builder-python/archive/main.zip

How to use

Import the module and init QueryBuilder with Database()

from simple_query_builder import *

qb = QueryBuilder(DataBase(), 'my_db.db')

# or DB in memory
qb = QueryBuilder(DataBase(), ':memory:')

Usage examples

Select all rows from a table
results = qb.select('users').all()

Result query

SELECT * FROM `users`;
Select rows with two conditions
results = qb.select('users').where([['id', '>', 1], 'and', ['group_id', '=', 2]]).all()

Result query

SELECT * FROM `users` WHERE (`id` > 1) AND (`group_id` = 2);
Update a row
qb.update('users', {
        'username': 'John Doe',
        'status': 'new status'
    })\
    .where([['id', '=', 7]])\
    .limit()\
    .go()

Result query

UPDATE `users` SET `username` = 'John Doe', `status` = 'new status'
WHERE `id` = 7 LIMIT 1;

More examples you can find in documentation

ToDo

I'm going to add the next features into future versions

  • write more unit testes
  • add subqueries for QueryBuilder
  • add BETWEEN
  • add WHERE EXISTS
  • add TableBuilder class (for beginning CREATE TABLE, move qb.drop() and qb.truncate() into it)
  • add MySQL support
  • add PostgreSQL support
  • add WITH
  • and probably something more

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc