项目简介
MiniSQL是一个精简型单用户SQL引擎,用户可通过字符界面输入SQL语句实现基本的增删改查操作,同时能借助索引优化性能。该项目旨在提升学生的系统编程能力,加深对数据库管理系统底层设计的理解。
项目的主要特性和功能
- 数据类型:支持
integer
、char(n)
、float
三种基本数据类型。 - 表定义:一张表最多可定义32个属性,各属性可指定是否为
unique
,支持单属性的主键定义。 - 索引定义:表的主属性自动建立B+树索引,声明为
unique
的属性也会建立B+树索引。 - 数据操作:支持用
and
或or
连接多条件进行查询,包括等值查询和区间查询;支持单条记录插入,以及单条或多条记录删除。 - 系统架构:解释器
SQL Parser
解析SQL语句生成语法树,交由执行器Executor
处理,执行器依据语法树操作相应数据库实例。
安装使用步骤
1. 环境准备
确保已安装以下工具和环境: - WSL2 (Ubuntu) - Visual Studio Code - Git - Glog (用于调试)
2. 进入项目目录
bash
cd MiniSQL
3. 编译项目
bash
mkdir build
cd build
cmake ..
make
4. 运行项目
bash
./minisql
5. 使用示例
- 创建数据库:
sql CREATE DATABASE mydb;
- 使用数据库:
sql USE mydb;
- 创建表:
sql CREATE TABLE students (id INT PRIMARY KEY, name CHAR(30), age INT);
- 插入数据:
sql INSERT INTO students VALUES (1, 'Alice', 22);
- 查询数据:
sql SELECT * FROM students WHERE age > 20;
- 删除数据:
sql DELETE FROM students WHERE id = 1;
- 创建索引:
sql CREATE INDEX idx_name ON students (name);
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】