reefdb
1.0.0
ReefDB는 Rust로 작성된 최소한의 메모리 내 및 디스크 내 데이터베이스 관리 시스템으로, 기본 SQL 쿼리 기능과 전체 텍스트 검색을 구현합니다.
ReefDB를 사용하려면 메모리 내 스토리지( InMemoryReefDB
) 또는 디스크 내 스토리지( OnDiskReefDB
) 중에서 선택할 수 있습니다.
use reefdb :: InMemoryReefDB ;
fn main ( ) {
let mut db = InMemoryReefDB :: new ( ) ;
let queries = vec ! [
"CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)" ,
"INSERT INTO users VALUES (1, 'Alice')" ,
"INSERT INTO users VALUES (2, 'Bob')" ,
"SELECT * FROM users WHERE id = 1" ,
] ;
for query in queries {
let result = db . query ( query ) ;
println ! ( "Result: {:?}" , result ) ;
}
}
use reefdb :: OnDiskReefDB ;
fn main ( ) {
let kv_path = "kv.db" ;
let index = "index.bin" ;
let mut db = OnDiskReefDB :: new ( kv_path . to_string ( ) , index . to_string ( ) ) ;
let queries = vec ! [
"CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)" ,
"INSERT INTO users VALUES (1, 'Alice')" ,
"INSERT INTO users VALUES (2, 'Bob')" ,
"SELECT * FROM users WHERE id = 1" ,
] ;
for query in queries {
let result = db . query ( query ) ;
println ! ( "Result: {:?}" , result ) ;
}
}
use reefdb :: InMemoryReefDB ;
fn main ( ) {
let mut db = InMemoryReefDB :: new ( ) ;
let queries = vec ! [
"CREATE TABLE books (title TEXT, author TEXT, description FTS_TEXT)" ,
"INSERT INTO books VALUES ('Book 1', 'Author 1', 'A book about the history of computer science.')" ,
"INSERT INTO books VALUES ('Book 2', 'Author 2', 'A book about modern programming languages.')" ,
"INSERT INTO books VALUES ('Book 3', 'Author 3', 'A book about the future of artificial intelligence.')" ,
"SELECT title, author FROM books WHERE description MATCH 'computer science'" ,
] ;
for query in queries {
let result = db . query ( query ) ;
println ! ( "Result: {:?}" , result ) ;
}
}
use reefdb :: InMemoryReefDB ;
fn main ( ) {
let mut db = InMemoryReefDB :: new ( ) ;
let queries = vec ! [
"CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)" ,
"INSERT INTO users VALUES (1, 'Alice')" ,
"INSERT INTO users VALUES (2, 'Bob')" ,
"DELETE FROM users WHERE id = 1" ,
"SELECT * FROM users" ,
] ;
for query in queries {
let result = db . query ( query ) ;
println ! ( "Result: {:?}" , result ) ;
}
}
use reefdb :: InMemoryReefDB ;
fn main ( ) {
let mut db = InMemoryReefDB :: new ( ) ;
let queries = vec ! [
"CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)" ,
"INSERT INTO users VALUES (1, 'Alice')" ,
"INSERT INTO users VALUES (2, 'Bob')" ,
"UPDATE users SET name = 'Charlie' WHERE id = 1" ,
"SELECT * FROM users" ,
] ;
for query in queries {
let result = db . query ( query ) ;
println ! ( "Result: {:?}" , result ) ;
}
}
use reefdb :: InMemoryReefDB ;
fn main ( ) {
let mut db = InMemoryReefDB :: new ( ) ;
let queries = vec ! [
"CREATE TABLE authors (id INTEGER PRIMARY KEY, name TEXT)" ,
"CREATE TABLE books (id INTEGER PRIMARY KEY, title TEXT, author_id INTEGER)" ,
"INSERT INTO authors VALUES (1, 'Alice')" ,
"INSERT INTO authors VALUES (2, 'Bob')" ,
"INSERT INTO books VALUES (1, 'Book 1', 1)" ,
"INSERT INTO books VALUES (2, 'Book 2', 2)" ,
"SELECT authors.name, books.title FROM authors INNER JOIN books ON authors.id = books.author_id" ,
] ;
for query in queries {
let result = db . query ( query ) ;
println ! ( "Result: {:?}" , result ) ;
}
}
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 라이센스를 참조하세요.