轻量级SQLite可视化工具Sqliteviz

Sqliteviz是一款离线优先的PWA应用,支持在本地完全客户端环境下对SQLite数据库进行SQL查询、创建图表和数据透视表。本文介绍了如何构建镜像、安装和使用该工具,以及其基本操作和功能演示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

什么是 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/

<think>嗯,用户想了解如何使用SQL创建表格并绘制图表。首先,我需要整理创建数据表的SQL语法,确保基础正确。记得引用中的Navicat步骤,可以结合SQL语句和工具操作。然后,可视化部分,用户提到的sqliteviz、Superset这些工具需要详细说明,包括如何导入数据、执行查询、生成图表。还要注意不同工具的特点,比如sqliteviz适合轻量级,Superset更强大。可能用户需要从创建表到可视化的完整流程,所以步骤要分清楚。另外,用户可能关心开源工具,所以重点推荐免费选项。最后,相关问题要覆盖常见疑问,比如优化、工具对比、数据更新等。需要检查引用是否正确对应,比如引用[1]到sqliteviz,引用[4]到Superset。确保回答结构清晰,先讲创建表,再讲可视化工具,每个步骤有示例和工具说明。</think>### 如何用SQL创建表格并使用可视化工具绘制图表 #### 一、使用SQL语句创建数据表 1. **基础语法** 创建数据表需使用`CREATE TABLE`语句,需定义字段名称、数据类型及约束条件。例如: ```sql CREATE TABLE sales ( id INT PRIMARY KEY AUTO_INCREMENT, product VARCHAR(50), sale_date DATE, amount DECIMAL(10,2) ); ``` - `PRIMARY KEY`:主键约束 - `AUTO_INCREMENT`:自动递增(MySQL语法) - `DECIMAL(10,2)`:精确小数类型 2. **工具操作示例(以Navicat为例)**[^2] - 打开Navicat,右键点击左侧“查询” > 新建查询 - 输入SQL语句后,点击“美化”按钮格式化代码 - 点击“运行”按钮执行语句,生成数据表 - 保存查询文件以便复用(如`create_sales_table.sql`) #### 二、数据可视化工具及操作流程 1. **sqliteviz轻量级开源工具)**[^1] - **步骤** 1. 导入SQLite数据库文件或直接输入数据 2. 在SQL编辑器中执行查询(如`SELECT sale_date, SUM(amount) FROM sales GROUP BY sale_date`) 3. 点击“可视化”标签,选择图表类型(如折线图展示销售趋势) - **特点** 支持数据透视表和交互式图表,适合快速分析。 2. **Apache Superset(企业级工具)**[^4] - **部署与连接数据库** ```bash # 安装Superset pip install apache-superset superset db upgrade superset init ``` - **创建图表** 1. 添加数据库连接:`数据库类型://用户名:密码@IP/数据库名称?charset=utf8` 2. 在“SQL Lab”中编写查询语句 3. 点击“Explore”进入图表配置界面,选择可视化类型(如饼图展示产品占比) 3. **MySQL + 报表SQL(基础方法)**[^3] 通过聚合查询生成结构化数据,再导出至Excel/Power BI: ```sql -- 按月统计销售额 SELECT DATE_FORMAT(sale_date, '%Y-%m') AS month, SUM(amount) FROM sales GROUP BY month; ``` #### 三、工具对比与选型建议 | 工具 | 适用场景 | 学习成本 | 扩展性 | |------------|---------------------------|----------|--------------| | sqliteviz | 快速原型设计、简单分析 | 低 | 有限 | | Superset | 企业级仪表盘、复杂可视化 | 中 | 高(支持插件)| | Excel | 临时分析、非技术用户 | 低 | 依赖外部工具 |
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨浦老苏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值