可使用 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)


相关推荐

  • layoutSubviews 详解

    layoutSubviews 详解ios layout机制相关方法-(CGSize)sizeThatFits:(CGSize)size-(void)sizeToFit——————–(void)layoutSubviews-(void)layoutIfNeeded-(void)setNeedsLayout——————–-(void)

  • idea intellij 查看接口被哪些类实现「建议收藏」

    idea intellij 查看接口被哪些类实现「建议收藏」点击接口左侧的绿色圆点出现的列表就是该接口被实现的类

  • Oracle Number 自动转Decimal问题修正「建议收藏」

    Oracle Number 自动转Decimal问题修正「建议收藏」spark加载Oracle表的Number字段,直接写入关系表会被转成decimal双精度类型解决方式:1.构建Jdbc会话publicclassJdbcOracleDialectextendsJdbcDialect{@OverridepublicbooleancanHandle(Stringurl){returnurl.startsWith(“jdbc:oracle”);}@Overrid…

  • 查看gcc版本信息和关联信息的命令[通俗易懂]

    查看gcc版本信息和关联信息的命令[通俗易懂]1、查看gccg++的版本以及其链接的信息:ls/usr/bin/gcc*-l                       ls/usr/bin/g++*-l2、如果本系统安装有多个版本的gcc,g++,想用哪个版本直接更改链接即可:首先删除原有链接:sudorm/usr/bin/gcc然后创建新的链接:sudoln–

  • Python 根据AIC准则定义向前逐步回归进行变量筛选(二)

    Python 根据AIC准则定义向前逐步回归进行变量筛选(二)Python根据AIC准则定义向前逐步回归进行变量筛选(二)AIC简介AIC即赤池值,是衡量模型拟合优良性和模型复杂性的一种标准,在建立多元线性回归模型时,变量过多,且有不显著的变量时,可以使用AIC准则结合逐步回归进行变量筛选。AICD数学表达式如下:AIC=2p+n(log(SSE/n))AIC=2p+n(log(SSE/n))AIC=2p+n(log(SSE/n))其中,ppp…

  • hashmap和hashtable和hashset的区别_反映和反应的区别

    hashmap和hashtable和hashset的区别_反映和反应的区别HashMap与Hashtable的区别是面试中经常遇到的一个问题。这个问题看似简单,但如果深究进去,也能了解到不少知识。本文对两者从来源,特性,算法等多个方面进行对比总结。力争多角度,全方位的展示二者的不同,做到此问题的终结版。作者Hashtable的作者:HashMap的作者:HashMap的作者比Hashtable的作者多了著名顶顶的并发大神DougLea。他写了util…

发表回复

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

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