https://github.com/c0de4un/go-db
Golang based database realization
https://github.com/c0de4un/go-db
database db db-driver db-model go golang
Last synced: 26 days ago
JSON representation
Golang based database realization
- Host: GitHub
- URL: https://github.com/c0de4un/go-db
- Owner: c0de4un
- License: mit
- Created: 2022-01-30T04:41:44.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2022-01-30T07:42:27.000Z (over 4 years ago)
- Last Synced: 2025-01-09T16:00:05.682Z (over 1 year ago)
- Topics: database, db, db-driver, db-model, go, golang
- Language: Go
- Homepage:
- Size: 10.7 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# database
Golang based database realization
# Description
Example project of database realization using drivers and models
# Requirements
* Go 1.17+;
# Test
* $go test
# Examples:
## Connect/Disconnect
```go
config := database.LoadConfig("database.cfg")
driver, err := database.NewDriver(database.FILE_DRIVER)
if err != nil {
log.Fatal(err)
}
err = driver.Configure(config)
if err != nil {
log.Fatal(err)
}
connection, err := driver.Connect()
if err != nil {
log.Fatal(err)
}
// Read . . .
// Iterate . . .
// Write . . .
defer connection.Disconnect()
```
## Read/Write
```go
// var driver database.IDriver (FileDriver)
// var query database.IQuery (FileQuery)
defer driver.Disconnect()
row := driver.ReadRow("users", query)
row.SetCol("name", "John")
driver.WriteRow(row)
```
## Building a Query
```go
// var driver database.IDriver (FileDriver)
// var query database::IQuery
query := driver.NewQuery()
query.Select("users", "*")
query.From("users")
query.Where("users", "id", "=", "1")
// var row database.Row
row := query.GetRow()
fmt.Println("user name is ", row.GetCol("name"))
```