可使用 git 操作的数据库 dolt
什么是 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相关推荐
- 用 Git 操作的数据库?这个项目火了!
超级特别又实用的数据库,快来补课! Git 是一个开源的分布式版本控制系统,可以敏捷高效地管理代码,让项目代码支持同时存在多个不同的版本和分支,是程序员在项目开发中的必备工具. 除了代码文件可以进行版 ...
- git操作手册_基本的Git手册
git操作手册 介绍 (Introduction) Hi! I am Sanjula, and in this guide I hope to teach you a little bit about ...
- 手把手教你熟悉Git操作
文章目录 Git 一.版本控制 二.Windows安装Git 1. Git 安装 2. Git 一次性配置 三.理解Git文件的三种状态与工作模式 四.创建版本库并提交文件 1. 初始化git 2. ...
- Git操作手册|命令速查表
Git操作手册|命令速查表 这篇文章主要介绍Git分布式版本管理与集中式管理的一些差异,总结下Git常用命令作为日后的速查表,最后介绍Git进阶的一些案例. 本文分为以下几个部分: Git与SVN差异 ...
- Linux下使用C++操作redis数据库
Linux下使用C++操作redis数据库 文章目录 Linux下使用C++操作redis数据库 一.安装配置hiredis.h 二.接口介绍 1.**`建立链接:redisConnect`** 2. ...
- C/C++编程操作Redis数据库,hiredis包装redis数据库操作接口及测试(增删改查与连接)
介绍一个实际应用场景,对于客户频繁需要查询的信息,可以将其放在redis内存数据库中,相当于一个缓存,每次查的时候先去redis内存数据库中去查询,如果查询不到再去oracle数据库中查询,这样提高了 ...
- c++操作redis数据库(详解)
1.安装hiredis.h接口 C++来操作redis数据库,是通过hiredis.h接口来实现,目前只能在Linux环境使用. git clone https://github.com/redis/ ...
- c语言连接数据库例子,c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual help).doc...
这是精心收集的精品经典资料,值得下载保存阅读! c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual h ...
- c 获取mysql列数据_转 用C API 操作MySQL数据库
用C API 操作MySQL数据库 参考MYSQL的帮助文档整理 这里归纳了C API可使用的函数,并在下一节详细介绍了它们.请参见25.2.3节,"C API函数描述". 函数 ...
最新文章
- MLeaksFinder简单实现原理
- 学Web前端你不能不知道的几点知识
- Sigmoid函数与逻辑回归
- mysql报错注入实战_手工注入——MySQL手工注入实战和分析
- 类代理java设计模式---动态代理(简单笔记)
- Web Services的基本原理
- JQuery操作SharePoint Web Services之添加列表数据
- 1043 Is It a Binary Search Tree (25 分) BST反转?不反转 遍历+vector
- otf字体转ttf字体
- 紫色飞猪:基于K8s的集群稳定架构
- 2022保密教育线上培训考试 01
- html5开发app的视频教程及相关资料
- pandorabox安装迅雷远程下载插件
- Spring的回炉重造
- 笔记本电脑连接无线网总是突然断网
- 乐高大颗粒作品14:导弹发射车
- 大数据必学Java知识(一):Java基础入门语法和安装
- STM32串口中断接收实验
- 去空格/去空白行在线工具
- Android -- 屏幕适配之dimens适配
热门文章
- 【Spring】3.助你跟面试官侃一个小时的AOP
- 云+未来峰会安全专场总结:智慧安全护航企业数字化转型
- 【微服务】微服务注册与调用----Eureka
- 【软考】 5 计算机网络
- <<多模态预训练—泛读>>2022:BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Unders
- Maven Scanning for projects... < org.example:MapReduceDemo > Building MapReduceDemo 1.0-SNAPSHOT BUI
- 【PS4开发】unity3d ps4手柄键位
- 有哪些情人节 情人节大全
- SC系列 (SC-32S) 低频率小型SMD石英晶振 SC-32S 32.768KHZ 12.5PF/20PPM
- zCloud丨自动、智能、高效的数据库云管理平台