【go】(仅思路)使用go实现一款简单的关系型数据库gosql

文章目录

背景

使用go很容易编译出一个二进制文件,已经有人用纯go实现了sqlite3的驱动(go get github.com/glebarez/sqlite),那么如果实现出一款最简单的关系型数据库gosql,需要多少行代码呢,只能让cursor帮我们写写了。

给navicate回复版本号

这个cursor似乎能搞定。

建立连接

报错:2013 Lost connection to server during querying

数据库list

新建数据库

这个反引号是什么操作:

删除数据库

1064 unsupported error

删除表

1051

查询表数据

总结

有种前后端联调的感觉。

  • navicate是前端页面
  • gosql是后端接口
  • 请求参数是如 'show databases; use test; '之类的sql语句
  • 响应的内容倒是没打印看过,应该不是json

roadmap

复制代码
# GoSQL 开发路线图

## 已完成

- [X] 基础存储引擎(内存版)
- [X] SQL 词法分析器(Lexer)
- [X] SQL 语法解析器(Parser)
- [X] SELECT 语句解析与执行
- [X] INSERT 语句解析与执行
- [X] UPDATE 语句解析(Parser)
- [X] UPDATE 语句执行(Executor)
- [X] DELETE 语句解析(Parser)
- [X] DELETE 语句执行(Executor)
- [X] WHERE 条件扩展
- [X] B+树索引实现
- [X] 主键索引支持
- [X] 查询优化器接口设计
- [X] 事务支持接口设计
- [X] 事务状态管理
- [X] 锁机制实现
- [X] 并发控制与事务隔离级别设计

## 进行中/下一步

- [ ] 新阶段需求或功能扩展

## 技术债务

1. 存储引擎
   - [ ] 添加持久化支持
   - [ ] 实现数据页管理
   - [ ] 添加缓存机制

## 注意事项

- 每个功能模块完成后需要编写完整的单元测试
- 保持代码文档的及时更新
- 遵循 Go 语言最佳实践
- 注重代码质量和性能优化
相关推荐
_upupup9 分钟前
智能指针的原理及简单模拟实现(C++)
开发语言·c++
en.en..17 分钟前
C语言---宏
c语言·开发语言
CoLiuRs24 分钟前
电商价格是怎样算出来的
数据库·redis·缓存
郝学胜-神的一滴25 分钟前
C++ Templates 01:拨开迷雾,读懂C++模板经典著作
开发语言·c++·程序人生·游戏·游戏引擎·软件构建
小蒜学长28 分钟前
基于Python的动物救助站管理系统的设计与实现(代码+数据库+LW)
数据库·后端·python·django·动物救助
言乐61 小时前
Python实现关税自动计算模型
开发语言·python·django·virtualenv·pygame
朝朝辞暮i1 小时前
C++ 第 14 课:引用 &
开发语言·c++·算法
梅雅达编程笔记1 小时前
04-Python CSV数据保存与翻页抓取
开发语言·爬虫·python·pandas·数据采集·csv
weixin_404551241 小时前
自动化数据库理解:用 AI 与 LLM 自动推断表的用途与关系
数据库·人工智能·自动化
java1234_小锋1 小时前
【技术专题】Mysql8 数据库 - Mysql8 简介 & 安装以及配置
数据库·mysql