美文网首页
从0开始写数据库-00-序言

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

作者: 张权_松果时序数据 | 来源:发表于2019-02-26 15:29 被阅读0次

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

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

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

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

    打印帮助信息

    help

    清屏

    clear

    退出

    eixt

    执行外部的SQL文件

    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上做一个你自己的数据库。虽然这个数据库不会成为商业数据库,但是在你的职业生涯中想必也是难忘的。

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

    相关文章

      网友评论

          本文标题:从0开始写数据库-00-序言

          本文链接:https://www.haomeiwen.com/subject/emwayqtx.html