欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > 【go】(仅思路)使用go实现一款简单的关系型数据库gosql

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

2025/6/20 23:47:05 来源:https://blog.csdn.net/2301_76933862/article/details/148719911  浏览:    关键词:【go】(仅思路)使用go实现一款简单的关系型数据库gosql

文章目录

  • 背景
    • 给navicate回复版本号
    • 建立连接
    • 数据库list
    • 新建数据库
    • 删除数据库
    • 删除表
    • 查询表数据
    • 总结
    • roadmap
    • navicate连接适配

背景

使用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
在这里插入图片描述
1008
在这里插入图片描述

查询表数据

在这里插入图片描述

总结

有种前后端联调的感觉。

  • 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 语言最佳实践
- 注重代码质量和性能优化

navicate连接适配

# Navicat 连接适配计划## 已完成功能- 基础 MySQL 协议握手实现
- 支持 Navicat 连接(版本 1.0.0)
- 数据库管理基础功能- 创建数据库(CREATE DATABASE)- 列出数据库(SHOW DATABASES)- 删除数据库(DROP DATABASE)- 切换数据库(USE DATABASE)- 显示数据库创建语句(SHOW CREATE DATABASE)
- 表管理功能- 显示表列表(SHOW TABLES)- 显示表结构(DESCRIBE TABLE)- 创建表(CREATE TABLE)- 删除表(DROP TABLE)- 显示表创建语句(SHOW CREATE TABLE)- 查询表数据(SELECT * FROM TABLE)- 表名大小写处理优化- 预置测试数据支持
- 数据操作功能- 插入数据(INSERT)- 更新数据(UPDATE)- 删除数据(DELETE)- 条件查询支持(WHERE 子句)
- 数据持久化功能- JSON格式数据存储- 自动数据持久化- 服务器重启数据恢复- 死锁问题修复
- 查询处理优化- 查询去重机制- 查询限流保护- 连接状态管理- 错误处理优化
- 表结构设计支持- 完整的SHOW CREATE TABLE输出- 支持多种数据类型(int, bigint, varchar, char, datetime, text)- 支持列约束(NOT NULL, PRIMARY KEY, AUTO_INCREMENT)- 支持字符集和排序规则- 支持表注释和列注释## 下一步计划- navicate操作:* 复制表* 设计表
- 高级功能- 事务支持- 索引支持- 外键约束- 数据导入导出- 查询构建器支持
- 性能优化- 查询缓存- 连接池- 查询执行计划优化- 批量操作优化
- 安全性- 用户认证- 权限管理- SQL注入防护
- 扩展功能- 更多SQL语句支持(ALTER TABLE, CREATE INDEX等)- 存储过程和函数支持- 触发器支持- 视图支持## 进度- 基础连接适配:已完成
- 数据库管理功能:已完成
- 表管理功能:已完成
- 数据操作功能:已完成
- 数据持久化功能:已完成
- 表结构设计支持:已完成
- 高级功能适配:计划中
- 性能优化:计划中
- 安全性:计划中
- 扩展功能:计划中

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词