什么是 dolt?

Dolt 是一个 SQL 数据库,您可以像 git 存储库一样分叉、克隆、分支、合并、推送和拉取。像任何 MySQL 数据库一样连接到 Dolt 以使用 SQL 命令运行查询或更新数据,使用 Golang 语言编写。

它与 MySQL 关系型数据库一样,具有表、视图等概念,支持数据的增删改查等操作。并且它提供了一个命令行工具,完美支持所有的 git 命令。

快速使用

  • 安装最新版 polt

或者下载二进制,并加入到 PATH 中

sudo bash -c 'curl -L https://github.com/dolthub/dolt/releases/latest/download/install.sh | bash'
  • 配置 dolt

配置用户名和邮箱,与 git 配置类似

dolt config --global --add user.email YOU@DOMAIN.COM
dolt config --global --add user.name "YOUR NAME"
image-20220718105123725

  • 设置数据存储目录

mkdir -p test/dolt
cd test/dolt
  • 启动 sql-server 服务

dolt sql-server

  • 使用 sql-client 连接到 sql 服务

NOTICE: Dolt 同样支持任何与 MySQL 兼容的客户端,Dolt 也附带一个客户端。

dolt sql-client
  • 创建数据库以及表

create database getting_started;
use getting_started;
create table employees (id int, last_name varchar(255), first_name varchar(255), primary key(id));
image-20220718111113870

  • 提交初始化表

call dolt_add('employees');
call dolt_commit('-m', 'Created initial schema');
image-20220718111434369

  • 插入数据并查看表状态

insert into employees values (0, 'Sehn', 'Tim'), (1, 'Hendriks', 'Brian'), (2, 'Son','Aaron'), (3, 'Fitzgerald', 'Brian');
select * from dolt_status;

  • 提交插入的数据并查看表状态

  • 对数据进行 reset 操作

模拟回滚的操作,如不小心把表删掉了,导致数据全部丢失,此时可以使用 reset 回滚数据。

drop table employees;
call dolt_reset('--hard');

总结

结合 mysql 与 git 的特性,dolt 可谓是想法新奇,提供了未来数据库的新思路。

参考链接:https://github.com/dolthub/dolt


2022 GopherChina大会报名仍在火热进行中!Gopher们扫描下方二维码即可报名参与!

大会合作、现场招聘及企业购票等事宜请联系微信:18516100522

记得分享、在看与点赞哦~

可使用 git 操作的数据库 dolt相关推荐

  1. 用 Git 操作的数据库?这个项目火了!

    超级特别又实用的数据库,快来补课! Git 是一个开源的分布式版本控制系统,可以敏捷高效地管理代码,让项目代码支持同时存在多个不同的版本和分支,是程序员在项目开发中的必备工具. 除了代码文件可以进行版 ...

  2. git操作手册_基本的Git手册

    git操作手册 介绍 (Introduction) Hi! I am Sanjula, and in this guide I hope to teach you a little bit about ...

  3. 手把手教你熟悉Git操作

    文章目录 Git 一.版本控制 二.Windows安装Git 1. Git 安装 2. Git 一次性配置 三.理解Git文件的三种状态与工作模式 四.创建版本库并提交文件 1. 初始化git 2. ...

  4. Git操作手册|命令速查表

    Git操作手册|命令速查表 这篇文章主要介绍Git分布式版本管理与集中式管理的一些差异,总结下Git常用命令作为日后的速查表,最后介绍Git进阶的一些案例. 本文分为以下几个部分: Git与SVN差异 ...

  5. Linux下使用C++操作redis数据库

    Linux下使用C++操作redis数据库 文章目录 Linux下使用C++操作redis数据库 一.安装配置hiredis.h 二.接口介绍 1.**`建立链接:redisConnect`** 2. ...

  6. C/C++编程操作Redis数据库,hiredis包装redis数据库操作接口及测试(增删改查与连接)

    介绍一个实际应用场景,对于客户频繁需要查询的信息,可以将其放在redis内存数据库中,相当于一个缓存,每次查的时候先去redis内存数据库中去查询,如果查询不到再去oracle数据库中查询,这样提高了 ...

  7. c++操作redis数据库(详解)

    1.安装hiredis.h接口 C++来操作redis数据库,是通过hiredis.h接口来实现,目前只能在Linux环境使用. git clone https://github.com/redis/ ...

  8. c语言连接数据库例子,c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual help).doc...

    这是精心收集的精品经典资料,值得下载保存阅读! c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual h ...

  9. c 获取mysql列数据_转 用C API 操作MySQL数据库

    用C API 操作MySQL数据库 参考MYSQL的帮助文档整理 这里归纳了C API可使用的函数,并在下一节详细介绍了它们.请参见25.2.3节,"C API函数描述". 函数 ...

最新文章

  1. MLeaksFinder简单实现原理
  2. 学Web前端你不能不知道的几点知识
  3. Sigmoid函数与逻辑回归
  4. mysql报错注入实战_手工注入——MySQL手工注入实战和分析
  5. 类代理java设计模式---动态代理(简单笔记)
  6. Web Services的基本原理
  7. JQuery操作SharePoint Web Services之添加列表数据
  8. 1043 Is It a Binary Search Tree (25 分) BST反转?不反转 遍历+vector
  9. otf字体转ttf字体
  10. 紫色飞猪:基于K8s的集群稳定架构
  11. 2022保密教育线上培训考试 01
  12. html5开发app的视频教程及相关资料
  13. pandorabox安装迅雷远程下载插件
  14. Spring的回炉重造
  15. 笔记本电脑连接无线网总是突然断网
  16. 乐高大颗粒作品14:导弹发射车
  17. 大数据必学Java知识(一):Java基础入门语法和安装
  18. STM32串口中断接收实验
  19. 去空格/去空白行在线工具
  20. Android -- 屏幕适配之dimens适配

热门文章

  1. 【Spring】3.助你跟面试官侃一个小时的AOP
  2. 云+未来峰会安全专场总结:智慧安全护航企业数字化转型
  3. 【微服务】微服务注册与调用----Eureka
  4. 【软考】 5 计算机网络
  5. <<多模态预训练—泛读>>2022:BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Unders
  6. Maven Scanning for projects... < org.example:MapReduceDemo > Building MapReduceDemo 1.0-SNAPSHOT BUI
  7. 【PS4开发】unity3d ps4手柄键位
  8. 有哪些情人节 情人节大全
  9. SC系列 (SC-32S) 低频率小型SMD石英晶振 SC-32S 32.768KHZ 12.5PF/20PPM
  10. zCloud丨自动、智能、高效的数据库云管理平台