可使用 git 操作的数据库 dolt

可使用 git 操作的数据库 dolt什么是dolt?Dolt是一个SQL数据库,您可以像git存储库一样分叉、克隆、分支、合并、推送和拉取。像任何MySQL数据库一样连接到Dolt以使用SQL命令运行查询或更新数据,使用Golang语言编写。它与MySQL关系型数据库一样,具有表、视图等概念,支持数据的增删改查等操作。并且它提供了一个命令行工具,完美支持所有的git命令。…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

什么是 dolt?

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

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

8cf5f5502ffba95b275377f20e1c9f12.png

快速使用

  • 安装最新版 polt

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

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

Jetbrains全家桶1年46,售后保障稳定

  • 配置 dolt

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

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

8bb69a070313c7c5dca50e340d641be1.png

  • 设置数据存储目录

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

dolt sql-server

1c5b97e12c0789f28bcf3fe153ef89c6.png

  • 使用 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

72ef7c9e24ee409942faface4f759382.png

  • 提交初始化表

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

794f9e38ed13adf22e9d1e12ff75ee6c.png

  • 插入数据并查看表状态

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

a02181251e76cf02d50c20cd09bfd3d4.png

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

d957ca6783b8c979def8460c2dc3ed4a.png

  • 对数据进行 reset 操作

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

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

375604a62702a607ff3ee39fc2f13c6f.png

总结

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

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


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

a0fe803b2f45e84c6a7db207da72e804.png

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

7b167d1ffc0fd623b63959fc09f2e417.png

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

82fbc660afd8b0c45e2774585ca3ea3a.gif

8b718d9dc285d3a0ca995c3073d6e772.gif

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/200644.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • mysql大数据量分页查询优化总结

    mysql大数据量分页查询优化总结

  • Lucene 分词 TokenStream 取 Token

    Lucene 分词 TokenStream 取 TokenLucene分词 TokenStream取TokenTokenStreamtokenStream=analyzer.tokenStream("content",newStringReader(text));//TokenStream遍历3.5Strings1="";Strings2="";while(tokenStream.inc…

  • 游戏建模:3D建模的入门学习方法及技巧

    选一个你感兴趣的模型利用你感兴趣的任何物品或形象的预制模型。选一个可以激发你想象,让你知道清楚知道自己的模型该是什么样子,该怎么动的模型。你可以根据自己的喜好和需要加强现有模型。预制模型可以让你在开始建模之前,体验模型的检查和操作。从简单模型入手从复杂3D模型入手,你可能会备受打击。选一个简单的结构,然后开始学习。你不仅想要学会3D建模的基本知识,还需要慢慢学习掌握不同的工具、技巧。瓶子一样的圆柱体是一个很好的入门模型。或者你可以用更简单的立方体来熟悉所有工具技巧的用法。复杂模型可能会.

  • Zigbee协议栈进行数据发送

    Zigbee协议栈进行数据发送Zigbee协议栈进行数据发送是调用AF_DataRequest这个函数,该函数会调用协议栈里面与硬件相关的函数最终将数据通过天线发送出去。  afStatus_tAF_DataRequest(afAddrType_t*dstAddr,//目的地址指针                             endPointDesc_t*srcEP, //发送节点的端点描述符

  • CAS单点登录原理分析(一)

    CAS单点登录原理分析(一)一,业务分析在分布式系统架构中,假设把上述的三个子系统部署在三个不同的服务器上。前提是用户登录之后才能访问这些子系统。那么使用传统方式,可能会存在这样的问题:1.当访问用户中心,需要用户登录帐号2.当访问购物车,还需要用户登录帐号3.当访问商品结算,又一次需要用户登录帐号访问每一个子系统都需要用户登录帐号,这样的体验对于用户来说是极差。而使用单点登录就可以很好地解决上述的问题。二,单…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号