轻量级SQLite可视化工具Sqliteviz

在这里插入图片描述

什么是 Sqliteviz ?

Sqliteviz 是一个单页面离线优先的渐进式网络应用(PWA),用于完全客户端的 SQLite 数据库或 CSV 文件的可视化。

所谓完全客户端,就是您的数据库永远不会离开您的计算机。使用 sqliteviz,您可以:

  • SQLite 数据库运行 SQL 查询,并基于结果集创建 Plotly 图表和数据透视表 ;
  • CSV 文件导入 SQLite 数据库,并可视化导入的数据;
  • 将结果集导出为 CSV 文件;
  • 管理查询并对不同的数据库运行它们;
  • 从/到 JSON 文件导入/导出查询;
  • 导出修改后的 SQLite 数据库;
  • 您可以在离线状态下从操作系统应用菜单中使用它,就像使用任何其他桌面应用程序一样;

Sqliteviz 功能演示

构建镜像

如果你不想自己构建,可以跳过,直接阅读下一章节

官方提供了本地测试的 Dockerfile,但其使用的基础镜像比较老,也未使用分层构建,所以老苏做了些许调整👇

# An easy way to run tests locally without Nodejs installed:      
#      
#     docker build -t sqliteviz/test -f Dockerfile.test .      
#      
      
FROM node:16.16 as build-base   
    
RUN set -ex; \    
    apt update; \    
    apt install -y chromium firefox-esr; \    
    npm install -g npm@7    
    
WORKDIR /tmp/build    
    
COPY package.json package-lock.json ./    
COPY lib lib      
RUN npm install      
    
COPY . .    
    
RUN set -ex; \    
    sed -i 's/browsers: \[.*\],/browsers: ['"'FirefoxHeadlessTouch'"'],/' karma.conf.js    
    
#RUN npm run lint -- --no-fix && npm run test  
RUN npx browserslist@latest --update-db && \  
    npm run build  
  
FROM nginx:1.12-alpine  
COPY --from=build-base /tmp/build/dist /usr/share/nginx/html  
  
EXPOSE 80  
  
CMD ["nginx", "-g", "daemon off;"]

构建镜像和容器运行的基本命令如下👇

# 下载代码
git clone https://github.com/lana-k/sqliteviz.git

# 进入目录  
cd sqliteviz

# 构建镜像
docker build -t wbsu2003/sqliteviz:v1 -f Dockerfile.test .

# 运行容器
docker run -d \
   --name sqliteviz \
   -p 3366:80 \
   wbsu2003/sqliteviz:v1

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 sqliteviz ,选择第一个 wbsu2003/sqliteviz,版本选择 latest

端口

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

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口容器端口
336680

命令行安装

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

# 运行容器
docker run -d \
   --name sqliteviz \
   -p 3366:80 \
   wbsu2003/sqliteviz

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

version: '3'

services:
  sqliteviz:
    image: wbsu2003/sqliteviz
    container_name: sqliteviz
    restart: unless-stopped
    ports:
      - 3366:80

然后执行下面的命令

# 新建文件夹 sqliteviz
mkdir -p /volume1/docker/sqliteviz

# 进入 sqliteviz 目录
cd /volume1/docker/sqliteviz

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

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:3366 就能看到主界面

  • ①可以上传或者拖入一个已有的数据库文件;
  • ②可以创建一个空的数据库;

老苏用来测试的还是 homebox 的数据库

点右上角的 Create 按钮创建查询,输入 SQL 语句会有提示

运行 SQL 查询

详细的使用方法,请参考官方文档:https://sqliteviz.com/docs/basic-usage

参考文档

lana-k/sqliteviz: Instant offline SQL-powered data visualisation in your browser
地址:https://github.com/lana-k/sqliteviz

Home - sqliteviz
地址:https://sqliteviz.com/

Introduction - sqliteviz
地址:https://sqliteviz.com/docs/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/560346.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu server 安装emqx tdengine

文章目录 1 安装emqx2 安装taos 1 安装emqx 86 wget https://www.emqx.com/zh/downloads/broker/5.6.0/emqx-5.6.0-ubuntu22.04-amd64.deb87 ls88 pwd89 sudo apt install ./emqx-5.6.0-ubuntu22.04-amd64.deb90 sudo systemctl start emqx91 systemctl status emqx92 s…

C语言求自幂数(水仙花数与其他自幂数)

前言 今天我们来看一下如果求解自幂数(水仙花数),水仙花数是自幂数的一种,我们来看看自幂数的概念吧,当一个n位数,它的每个位上的数字的n次幂之和等于它本身的时候,我们称这个数为自幂数。水仙花…

文本溢出体验进阶:CSS 技巧实现单行/多行隐藏展示以及实际场景应用,确保内容可读性和布局整洁性

CSS文本溢出隐藏是一种常见的场景,它广泛应用于各种网页设计中,旨在确保内容的可读性和布局的整洁性,特别是在空间有限或需要适应不同屏幕尺寸的情况下。 一、文本溢出隐藏并显示省略号 1、单行文本溢出隐藏并显示省略号 对于单行文本&…

怎么找程序员对象?和程序员谈恋爱是什么体验?

和程序员谈恋爱是一种非常累的体验,因为他们大部分时间都会加班,守在电脑面前不能够陪自己。但是这样的男孩子,忠诚、认真、不会花花草草、收入贼高,恋爱幸福指数接近满分哦! 程序员都是宅男,都是电脑狂魔&…

中科院JCR期刊分区介绍

文章目录 1. 背景2. 简介3. 学科分类方法4. 分区表计算方法5. 分区指标说明5.1 IF5.2 3年平均IF5.3 CI 6. 中科院分区和JCR期刊分区有哪些异同?6.1 数据基础相同6.2 学科划分小类部分相同 1. 背景 SCI作为论文与引文分析的重要手段, 被国内各级科研管理部门所重视,…

stm32开发之threadx之modulex模块文件的生成脚本项目

前言 为了保证在window上运行,且体积小的问题,所以采用c语言编写生成脚本,将相关路径由json文件进行配置,使用了一个cjson库进行解析项目构建使用的是cmake 项目代码 CMakeLists文件 cmake_minimum_required(VERSION 3.27) project(txm_bat_script C…

stm32开发之threadx+modulex+filex+shell组件(实现命令行动态加载程序)

前言 前几篇博客基本上已经将filex、levelx、threadx、modulex、shell 组件大概都记录了一遍.本篇博客做个综合实际案例记录. 实现效果 代码程序 Modulex组件 源文件 /** Copyright (c) 2024-2024,shchl** SPDX-License-Identifier: Apache-2.0** Change Logs:…

easyx库的学习(文字绘制)

前言 昨天刚刚写完了基本图形的制作,今天直接可以来看看,在easyx中使用文字 直接看代码吧 文字绘制 void drawTest() {printf("hello,EasyX");//指的是在控制台打印//设置字体大小,样式settextstyle(30, 0, "微软雅黑&quo…

4.4 @ControllerAdvice全局数据处理

4.4 ControllerAdvice全局数据处理 1. 全局异常处理 @ExceptionHandler2. 添加全局数据 ModelAttribute3. 请求参数预处理 InitBinder 顾名思义,@ControllerAdvice 就是@Controller 增强版。@ControllerAdvice 主要用来…

【LAMMPS学习】八、基础知识(3.8)计算扩散系数

8. 基础知识 此部分描述了如何使用 LAMMPS 为用户和开发人员执行各种任务。术语表页面还列出了 MD 术语,以及相应 LAMMPS 手册页的链接。 LAMMPS 源代码分发的 examples 目录中包含的示例输入脚本以及示例脚本页面上突出显示的示例输入脚本还展示了如何设置和运行各…

esp32-通过wifi使用timelib库同步时间(三)

库的安装 本文基于platformIO,安装较为简单如下图 实例代码 完整代码如下,如果时间获取超时请使用time1.aliyun.com获取时间。 /** Time_NTP.pde* Example showing time sync to NTP time source** This sketch uses the Ethernet library*/#include …

通过实例学C#之序列化与反序列化XmlSerializer类

简介 可以将类序列化成xml文件,或者将xml文件反序列化成类对象,一般用于保存或加载项目参数。 构造函数 XmlSerializer() 不使用函数创建一个xmlSerializer对象。 XmlSerializer(Type type) 使用type对象创建一个xmlSerializer对象,注意&…

NotePad++联动ABAQUS

Abaqus 中脚本运行 1. 命令区kernel Command Line Interface (KCLI) execfile(C:\\temp\second develop\chapter2\pyTest1.py)2. CAE-Run Script File->Run Script 3. Abaqus command Abaqus cae noGUIscript.py(前后处理都可)Abaqus Python scr…

牛x之路 - Day1

Day1 微积分之屠龙宝刀(武林秘籍) 之前的一些东西都在pdf上记得笔记, 没有在这个上面展示一遍,只好学到相关内容的时候再提叙啦;所以其实再写这个小记的时候,我已经看了一半的书,但是不要紧&am…

【结构型模式】组合模式

一、组合模式概述 组合模式的定义与意图:将对象组合成树形结构来表现“整体/部分”层次结构。组合能让客户以一致的方式处理个别对象以及对象组合。(对象结构型) 组合模式分析: 1.当容器对象的某一个方法被调用时,将遍…

OpenHarmony网络协议通信—kcp

kcp 是一种 ARQ 协议,可解决在网络拥堵情况下 tcp 协议的网络速度慢的问题 下载安装 直接在 OpenHarmony-SIG 仓中搜索 kcp 并下载。 使用说明 准备一套完整的 OpenHarmony 3.1 Beta 代码 库代码存放路径:./third_party/kcp 修改添加依赖的编译脚本 在/develo…

书生·浦语实战营第二期(六)——Agent

一、概述: 1.1、Lagent: Lagent 是一个轻量级开源智能体框架,旨在让用户可以高效地构建基于大语言模型的智能体。同时它也提供了一些典型工具以增强大语言模型的能力。 Lagent 目前已经支持了包括 AutoGPT、ReAct 等在内的多个经典智能体范式&#xf…

jeecgflow之camunda工作流-串行流程

引言 UserTask用户任务,是需要人处理后才能流转的任务。 本文将构建一个简单的串行流程带大家快速入门camunda工作流。 BPMN在线建模 如需亲自体验文章案例,请访问如下网址。 JeecgFlow演示站点 需求 我们以三国为背景, 假设系统中拥有将军&#xff0c…

ardunio中自定义的库文件

1、Arduino的扩展库都是放在 libraries目录下的。完整路径为:C:\Users\41861\AppData\Local\Arduino15\libraries 所以我们需要在这个目录下创建一个文件夹,比如上面的例子是esp32上led灯控制程序,于是我创建了 m_led文件夹(前面加…

根据 Excel 列生成 SQL

公司有个历史数据刷数据的需求, 开发功能有点浪费, 手工刷数据有点慢, 所以研究了下 excel 直接生成 SQL, 挺好用, 记录一下; 例如这是我们的数据, 要求把创建时间和完成时间刷进数据库中, 工单编号唯一 Excel 公式如下: "UPDATE service_order SET create…