SQLite数据库putty SQLite数据库浏览器_sqlite

什么是 sqlite-web ?

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

软件特点:

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

安装

在群晖上以 Docker 方式安装。

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

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

SQLite数据库putty SQLite数据库浏览器_sqlite_02

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

文件夹

装载路径

说明

docker/sqlite-web/data

/data

存放数据库文件

SQLite数据库putty SQLite数据库浏览器_数据库_03

端口

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

# 查看端口占用
netstat -tunlp | grep 端口号

本地端口

容器端口

3440

8080

SQLite数据库putty SQLite数据库浏览器_sqlite_04

环境

可变

SQLITE_DATABASE

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

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

SQLite数据库putty SQLite数据库浏览器_sqlite_05

所以环境变量设置如下

SQLite数据库putty SQLite数据库浏览器_sqlite_06

命令行安装

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

# 新建文件夹 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 文件

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

然后执行下面的命令

# 新建文件夹 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命令停止服务时立即删除容器。

SQLite数据库putty SQLite数据库浏览器_docker_07

运行

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

SQLite数据库putty SQLite数据库浏览器_SQLite数据库putty_08

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

SQLite数据库putty SQLite数据库浏览器_群晖_09

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

SQLite数据库putty SQLite数据库浏览器_群晖_10

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

SQLite数据库putty SQLite数据库浏览器_docker_11

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

SQLite数据库putty SQLite数据库浏览器_数据库_12

参考文档

coleifer/sqlite-web: Web-based SQLite database browser written in Python