前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >可使用 git 操作的数据库 dolt

可使用 git 操作的数据库 dolt

作者头像
全栈程序员站长
发布2022-11-01 14:55:46
8930
发布2022-11-01 14:55:46
举报
文章被收录于专栏:全栈程序员必看

什么是 dolt?

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

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

8cf5f5502ffba95b275377f20e1c9f12.png
8cf5f5502ffba95b275377f20e1c9f12.png

快速使用

  • 安装最新版 polt

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

代码语言:javascript
复制
sudo bash -c 'curl -L https://github.com/dolthub/dolt/releases/latest/download/install.sh | bash'

  • 配置 dolt

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

代码语言:javascript
复制
dolt config --global --add user.email YOU@DOMAIN.COM
dolt config --global --add user.name "YOUR NAME"
image-20220718105123725
8bb69a070313c7c5dca50e340d641be1.png
8bb69a070313c7c5dca50e340d641be1.png
  • 设置数据存储目录
代码语言:javascript
复制
mkdir -p test/dolt
cd test/dolt
  • 启动 sql-server 服务
代码语言:javascript
复制
dolt sql-server
1c5b97e12c0789f28bcf3fe153ef89c6.png
1c5b97e12c0789f28bcf3fe153ef89c6.png
  • 使用 sql-client 连接到 sql 服务

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

代码语言:javascript
复制
dolt sql-client
  • 创建数据库以及表
代码语言:javascript
复制
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
72ef7c9e24ee409942faface4f759382.png
  • 提交初始化表
代码语言:javascript
复制
call dolt_add('employees');
call dolt_commit('-m', 'Created initial schema');
image-20220718111434369
794f9e38ed13adf22e9d1e12ff75ee6c.png
794f9e38ed13adf22e9d1e12ff75ee6c.png
  • 插入数据并查看表状态
代码语言:javascript
复制
insert into employees values 
    (0, 'Sehn', 'Tim'), 
    (1, 'Hendriks', 'Brian'), 
    (2, 'Son','Aaron'), 
    (3, 'Fitzgerald', 'Brian');
代码语言:javascript
复制
select * from dolt_status;
a02181251e76cf02d50c20cd09bfd3d4.png
a02181251e76cf02d50c20cd09bfd3d4.png
  • 提交插入的数据并查看表状态
d957ca6783b8c979def8460c2dc3ed4a.png
d957ca6783b8c979def8460c2dc3ed4a.png
  • 对数据进行 reset 操作

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

代码语言:javascript
复制
drop table employees;
call dolt_reset('--hard');
375604a62702a607ff3ee39fc2f13c6f.png
375604a62702a607ff3ee39fc2f13c6f.png

总结

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

参考链接:https://github.com/dolthub/dolt
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月22日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是 dolt?
  • 快速使用
  • 总结
    • 参考链接:https://github.com/dolthub/dolt
    相关产品与服务
    云数据库 SQL Server
    腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档