#multiple #columns #key #txt #db #save #colon

colon_db

rust databasing key value storing with multiple columns crate

3 releases

new 0.1.2 Jan 18, 2025
0.1.1 Nov 29, 2024
0.1.0 Nov 29, 2024

#2140 in Database interfaces

MIT license

14KB
260 lines

colonDB | simpleDB with multiple columns support (database file store)

Checkout main folder for simple key value store. Make sure you clone this repo inside the directory you write in the cargo.toml's [dependencies] simple_db = ... May still contain issues, havent tested enough.


usage

I suggest typing in the first row, which will be used as headers to find stuff based on column headers, in the .txt file before dealing with data.

add to Cargo.toml
(edit the path as suits you)

cargo add colon_db

use in main.rs

use colon_db::ColonDB;

Methods:

find save file, or create one

let mut database = ColonDB::find_database("db.txt");

Make sure to .to_string() input values. Check example.

add item or row

database.append_row_to_db("23".to_string(),vec!["a".to_string(),"12".to_string(),"3000".to_string()]);

database.insert_item_into_db("21".to_string(),"name".to_string(), "kak".to_string());
database.insert_item_into_db("21".to_string(),"age".to_string(), "18".to_string());

append a column

db.append_column("status".to_string(), "citizen".to_string());

select a range from the db (0 to total number of rows, vector with column names)

let newdb = database.select_data(Some(4..17), vec!["name".to_string(), "salary".to_string()].into());

get item by key, column

println!("{}",database.select_item("01", "age").unwrap())

delete a row

database.delete_row("09");

display database in terminal

newdb.print_database();

Dependencies

~1.3–1.9MB
~35K SLoC