https://github.com/pandasekh/dibbi
🐳 In-memory non-persistent relational database.
https://github.com/pandasekh/dibbi
database golang
Last synced: 3 months ago
JSON representation
🐳 In-memory non-persistent relational database.
- Host: GitHub
- URL: https://github.com/pandasekh/dibbi
- Owner: PandaSekh
- License: agpl-3.0
- Created: 2023-02-09T17:55:53.000Z (over 3 years ago)
- Default Branch: develop
- Last Pushed: 2023-02-18T20:04:17.000Z (over 3 years ago)
- Last Synced: 2025-06-21T21:04:04.111Z (about 1 year ago)
- Topics: database, golang
- Language: Go
- Homepage: https://pandasekh.github.io/dibbi/dev/bench/
- Size: 89.8 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# 🐳 dibbi
[](https://github.com/PandaSekh/dibbi/actions/workflows/build_and_test.yml)
[](https://pkg.go.dev/github.com/PandaSekh/dibbi)
In-memory non-persistent relational database.
## Examples
**Create Table**
```sql
CREATE TABLE users
(
age int,
name text
);
```
**Insert**
```sql
INSERT INTO users
VALUES (24, 'Alessio');
```
**Select**
```sql
SELECT age
from users;
```
**Select All**
```sql
SELECT *
from users;
```
## Run
`go run main.go`
## Test
`go test -v ./...`
## Features
- `SELECT`
- CREATE TABLE
- int
- text
- bool
- INSERT
- `SELECT *` to get all Columns
## TODO
- Insert with column specification
- `WHERE` clause
- More column types (uuid, date)
- Automatic uuid on insertion, if specified during `CREATE TABLE`
- default values
- Support float
## Resources
- Idea and tutorial followed for the beginning: [database basics](https://notes.eatonphil.com/database-basics.html).
- [Writing an interpreter in go](https://interpreterbook.com/)