
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
Usage
>> from ReallySimpleDB import dbmanager
>> _dbmanager = dbmanager()
Create database
>> _dbmanager.create_db(dbpath="test.db", replace=True)Create database
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
If you want to filter equal values, add value without any operator.
Examples:
{"year":2022}
✔️{"year":" == 2022"}
❌
🖇 Comparison operators
Comparison Operator | Description |
!= | Not Equal |
> | Greater Than |
>= | Greater Than or Equal |
< | Less Than |
<= | Less Than or Equal |
Examples:
{"marks":"<= 10"}
✔️{"marks":"== 10"}
❌{"name":"< ABC"}
❌ ‘Greater Than’ and ‘Less than’ comparisons are not supported with Strings
Important: If you are trying to compare strings, please use string between Inch Marks.
{"grade":"!= 'A'"}
✔️{"grade":"!= A"}
❌
>> _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'}]