SQLite数据库浏览器sqlite-web

什么是 sqlite-web ?

sqlite-web是一个用 Python 编写的基于 WebSQLite 数据库浏览器。

软件特点:

  • 可与您现有的 SQLite 数据库配合使用,也可用于创建新数据库。
  • 添加或删除:
    • 表格
    • 列(支持旧版本的 SQLite
    • 索引
  • 将数据导出为 JSONCSV
  • 导入 JSONCSV 文件。
  • 浏览表数据。
  • 插入、更新或删除行。

安装

在群晖上以 Docker 方式安装。

因为要挂载 SQLite 的数据库文件,所以用 docker cli 运行可能更适合。当容器停止时,容器会被自动删除,这是图形化安装做不到的。

在注册表中搜索 sqlite-web ,选择第一个 coleifer/sqlite-web,只有一个 latest 版本,所以双击直接下载。

docker 文件夹中,创建一个新文件夹 sqlite-web,并在其中建一个子文件夹 data

文件夹 装载路径 说明
docker/sqlite-web/data /data 存放数据库文件

端口

本地端口不冲突就行,不确定的话可以用命令查一下

1
2
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
3440 8080

环境

可变
SQLITE_DATABASE 需要挂载的 SQLite 数据库文件名

老苏用来测试的是 homebox 的数据库,数据库文件需要放入到 data 目录

所以环境变量设置如下

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 新建文件夹 sqlite-web 和子目录
mkdir -p /volume1/docker/sqlite-web/data

# 进入 sqlite-web 目录
cd /volume1/docker/sqlite-web

# 将 homebox.db 放入 data 目录

# 运行容器
docker run -it --rm \
--restart unless-stopped \
--name sqlite-web \
-p 3440:8080 \
-v $(pwd)/data:/data \
-e SQLITE_DATABASE=homebox.db \
coleifer/sqlite-web

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
version: '3'

services:
sqlite-web:
image: coleifer/sqlite-web
container_name: sqlite-web
restart: unless-stopped
ports:
- 3440:8080
volumes:
- ./data:/data
environment:
- SQLITE_DATABASE=homebox.db

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
11
# 新建文件夹 sqlite-web 和子目录
mkdir -p /volume1/docker/sqlite-web/data

# 进入 sqlite-web 目录
cd /volume1/docker/sqlite-web

# 将 docker-compose.yml 放入当前目录
# 将 homebox.db 放入 data 目录

# 一键启动
docker-compose up -d

【注意事项】:只有当使用docker-compose down 命令停止服务时会自动删除容器,而不会在使用docker-compose stop命令停止服务时立即删除容器。

运行

在浏览器中输入 http://群晖IP:3440 就能看到主界面,显示了有关数据库的一些基本信息,包括表和索引的数量以及其在磁盘上的大小

Structure 选项卡显示有关表结构的信息,包括列、索引、触发器和外键(如果存在)。在此页面中,您还可以创建、重命名或删除列和索引。

Content 选项卡显示所有表数据。表头中的链接可用于对数据进行排序

Query 选项卡允许您对表执行任意 SQL 查询。查询结果显示在表格中,并可以导出为 JSONCSV

Import选项卡支持将 CSVJSON 文件导入表中。有一个选项可以自动为导入文件中任何无法识别的键创建列

参考文档

coleifer/sqlite-web: Web-based SQLite database browser written in Python
地址:https://github.com/coleifer/sqlite-web