63 lines
2.5 KiB
Markdown
63 lines
2.5 KiB
Markdown
# HyperSql
|
||
|
||
HyperSql 是一个基于 Java 24、JavaFX 和 Maven 开发的轻量级 SQLite 图形化数据库管理工具,主要面向学生、SQLite 初学者和课程项目演示场景。
|
||
|
||

|
||
|
||
## 已实现功能
|
||
|
||
- 新建、打开、关闭 SQLite 数据库文件
|
||
- 删除当前 SQLite 数据库文件,删除前进行确认
|
||
- 备份当前 SQLite 数据库文件
|
||
- 从备份文件恢复当前数据库,恢复前进行确认
|
||
- 浏览数据库表和视图列表
|
||
- 刷新表列表时保留当前选中表
|
||
- 查看表结构信息,包括字段名、类型、主键、非空和默认值
|
||
- 查看表数据,并按每页 100 行分页显示
|
||
- 执行 SQL 语句并显示查询结果或影响行数
|
||
- SQL 查询结果按每页 100 行分页显示
|
||
- 通过图形化界面创建表,并提供 SQL 预览
|
||
- 删除选中的普通表,删除前进行确认
|
||
- 在表数据界面新增、修改、删除数据行
|
||
- 在可识别的单表 SQL 查询结果中新增、修改、删除数据行
|
||
- 在 SQLite 原生支持范围内编辑表结构:重命名表、新增字段、重命名字段
|
||
- AI 辅助 SQL 生成:根据当前数据库结构和用户自然语言需求生成 SQL
|
||
- 支持 OpenAI 兼容接口和 Anthropic Claude
|
||
- AI API Key 在 UI 中输入,仅保存在本次运行内存中
|
||
- AI 生成的 SQL 只填入 SQL 输入框,不会自动执行
|
||
- 基础状态提示、错误提示和危险操作确认
|
||
- 菜单、工具栏和侧边栏操作入口已整理,降低界面拥挤程度
|
||
|
||
## 当前限制
|
||
|
||
- 仅支持本地 SQLite 数据库,不支持 MySQL、PostgreSQL 等远程数据库
|
||
- SQL 查询结果分页为客户端分页,大型查询结果仍会先加载到内存
|
||
- SQL 结果编辑只支持可识别的单表查询,JOIN、聚合、表达式等复杂查询保持只读
|
||
- 表结构编辑只支持 SQLite 原生安全支持的部分操作,不支持需要重建表的复杂结构修改
|
||
- AI 生成 SQL 的质量取决于用户配置的模型和 API 服务,生成结果需要用户检查后再手动执行
|
||
- API Key 只在本次运行中保存,关闭软件后需要重新输入
|
||
|
||
## 技术栈
|
||
|
||
- Java 24
|
||
- JavaFX 24
|
||
- Maven
|
||
- SQLite
|
||
- SQLite JDBC
|
||
- JDK HttpClient
|
||
- Jackson
|
||
|
||
## 运行方式
|
||
|
||
确保本机已安装 Java 24 和 Maven。
|
||
|
||
```bash
|
||
mvn javafx:run
|
||
```
|
||
|
||
## 项目文档
|
||
|
||
- `software_process_model.md`:软件开发过程模型
|
||
- `feasibility_analysis.md`:可行性分析
|
||
- `requirements_analysis.md`:需求分析
|