golang编写一个类似sqlite的文件数据库实现增删改查代码
代码语言:golang
所属分类:其他
代码描述:golang编写一个类似sqlite的文件数据库实现增删改查代码,实现createtable、insert、update、select、delete,id自增等数据库特性,仅供学习。
代码标签: golang 编写 类似 sqlite 文件 数据库 增删 改查 代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
package main
import (
"fmt"
"os"
"encoding/gob"
"sync"
"errors"
)
type Database struct {
filename string
tables map[string]*Table
mutex sync.RWMutex
}
type Table struct {
Name string
Columns []string
Rows [][]interface{}
NextID int // 用于跟踪下一个可用的 ID
}
func NewDatabase(filename string) *Database {
db := &Database{
filename: filename,
tables: make(map[string]*Table),
}
err := db.Load()
if err != nil && !os.IsNotExist(err) {
fmt.Printf("警告: 加载数据库失败: %v\n", err)
}
return db
}
func (db *Database) CreateTable(name string, columns []string) error {
db.mutex.Lock()
defer db.mutex.Unlock()
if _, exists := db.tables[name]; exists {
return fmt.Errorf("表 %s 已存在", name)
}
.........完整代码请登录后点击上方下载按钮下载查看















网友评论0