A tool for easily manage databases with Python
Project description
ReallySimpleDB 🧩
What is This
This is a Python application that can be used to manage sqlite databases without using any sql command.
🚀 Installation
You can use pip:
pip3 install ReallySimpleDB
or
~# python setup.py install
📗 Usage
>> from ReallySimpleDB import dbmanager
>> _dbmanager = dbmanager()
Create database
>> _dbmanager.create_db(dbpath="test.db", replace=True)
Close connection
>> _dbmanager.close_connection()
Create table
Here you can not directly call the create_table
function. Because sqlite cannot create table without columns. So you must first define the columns and create a table.
Important: You have to close connection here. If not, code returns error. Because it tries to add column to existing table.
>> _dbmanager.close_connection()
>> _dbmanager.add_columns(column_name="student_id", primary_key=True)
>> _dbmanager.add_columns(column_name="name", not_null=True)
>> _dbmanager.add_columns(column_name="mark", datatype="INT")
>> _dbmanager.create_table(database="test.db", table_name="STUDENTS")
If you want to add columns to an existing table, read the Add column to table section.
Get all tables
>> all_tables = _dbmanager.all_tables()
["STUDENT", "EXAM"]
Check table if exists
>> _dbmanager.is_table(database="test.db", table_name="STUDENTS")
True
Delete table from database
>> _dbmanager.delete_table(table="STUDENTS")
Add column to table
>> _dbmanager.add_columns(column_name="year", database="test.db", table="STUDENTS")
Get all columns
>> _dbmanager.get_columns(table="STUDENTS")
["student_id", "name", "mark"]
Get all columns with types
>> all_columns = _dbmanager.get_all_column_types(table="STUDENTS")
{"student_id": "TEXT", "name": "TEXT", "mark": "INT"}
Get columns type
>> _dbmanager.get_column_type(table="STUDENTS", column="student_id")
"TEXT"
Get primary key of a table
>> _dbmanager.get_primary_key(table="STUDENTS")
"student_id"
Add record to table
>> _dbmanager.add_record(table="STUDENTS", record={"student_id": "1010", "name":"ABC", "mark":10, "year":"2022"})
Get all records from a table
>> _dbmanager.get_all_records(table="STUDENTS", primary_key="1010")
[{'student_id': '1010', 'name': 'ABC', 'mark': 10, 'year': '2022'}, {'student_id': '1011', 'name': 'DEF', 'mark': 100, 'year': '2022'}]
Get record from a table
>> _dbmanager.get_record(table="STUDENTS", primary_key="1010")
{'student_id': '1010', 'name': 'ABC', 'mark': 10, 'year': '2022'}
Delete record from a table
>> _dbmanager.delete_record(table="STUDENTS", primary_key="1010")
Filter record/s from a table
>> _dbmanager.filter_records(table="STUDENTS", values={"year":"2022"})
[{'student_id': '1010', 'name': 'ABC', 'mark': 10, 'year': '2022'}, {'student_id': '1011', 'name': 'DEF', 'mark': 100, 'year': '2022'}]
🌱 Contributing Guide
-
Fork the project from the
alpha
branch and submit a Pull Request (PR)-
Explain what the PR fixes or improves.
-
If your PR aims to add a new feature, provide test functions as well.
-
-
Use sensible commit messages
- If your PR fixes a separate issue number, include it in the commit message.
-
Use a sensible number of commit messages as well
- e.g. Your PR should not have 1000s of commits.
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
Built Distribution
Hashes for ReallySimpleDB-1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d778436a06e4328e4c7c250c9dfc193da3f94abaa976d101aa2620965984d80 |
|
MD5 | 1705ea068aa178e3d8a72d42435efedc |
|
BLAKE2b-256 | e431670c44eab45212c93769c93f1fea85d50dc26b37d0ec8bd9c68ce3d692fd |