什么是 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 可謂是想法新奇,提供了未來數據庫的新思路。
ManageEngine卓豪
007bug
尚思卓越
RacentYY
一顆小胡椒
007bug
尚思卓越
尚思卓越
X0_0X
Andrew