从0开始写数据库-00-序言

首先我们的目标不是做一个商业的数据库,而是让一个软件开发的初学者能自己写一个数据库,并能按照自己的想法不断完善,达到提升编程能力的目标。

相信大部分人看到这个标题的时候都觉得不可能或这并不简单。为了能更好的说服大家,我们已经完成了一个很基本数据库原型的搭建MyBase 并且已经开源,https://github.com/zhangqhn/mybase 这个系列文章将会复盘MyBase的开发过程,尽量完整的呈现所有的内容。

为了达到让初学者能在很短的时间内学会MyBase,在开发过程中我们尽量以最简单的逻辑去实现,最后以大约4000行c++代码完成了整个项目,而且代码简洁、没有晦涩的语法。模块划分清晰能快速添加新的功能。

虽然,MyBase很简单、代码量很低,但是也包含了丰富的功能:

打印帮助信息

help

清屏

clear

退出

eixt

执行外部的SQL文件

扫描二维码关注公众号,回复: 5583923 查看本文章

source <sql-file-path>

显示所有的表

show tables

显示指定表的列信息

show columns from <tab-name>

创建表

支持 int, double, string 数据类型

create table <tab-name> (<col-name> int|double|string, ...)

删除表

drop table <tab-name>

插入数据

insert into <tab-name> (<col-name-list>) values(<val-list>)

查询数据

支持max,min,sum,avg,count聚合函数

select <target-list> from <tab-name> [where-expr] [group-by-expr] [limit-expr]

删除数据

delete from <tab-name> [where-expr]

如果你是一个计算机专业的在校生,MyBase能让你将计算机基础课有一个实践的平台,让你在课余可以做一些有意思的事。或许,在两年、三年后,你能在MyBase上做一个你自己的数据库。虽然这个数据库不会成为商业数据库,但是在你的职业生涯中想必也是难忘的。

动手去做一个数据库,其实并不难。

猜你喜欢

转载自blog.csdn.net/zhangqhn/article/details/88654043