SQLite 命令行客户端 + Windows 批处理应用

SQLite 命令行客户端 + Windows 批处理应用

  • 下载 SQLite 客户端
  • 1. Bat 辅助脚本
    • 1. 执行SQL.bat
      • 执行
    • 2. 导出Excel.bat
      • 执行
      • 效果
    • 3. 导出HTML.bat
      • 执行
      • 效果
    • 4. 清空-订单表.bat
    • 5. 订单表.bat
  • 2. 测试 SQL
    • 1. 创建订单表.sql
    • 2. 插入订单表.sql
    • 3. 查询订单表.sql
    • 4. 清空订单表.sql
    • 5. 删除订单表.sql
  • 参考资料

下载 SQLite 客户端

https://www.sqlite.org/download.html
我开发环境是 win11 所以下的这个:
在这里插入图片描述

1. Bat 辅助脚本

sqlite3.exeMY_DB.db所有bat 放在一起。
当然也可以直接把 sqlite3.exe 添加到环境变量。

1. 执行SQL.bat

@echo off
CHCP 65001 > nul
REM 定义sqlite3 路径,数据库文件路径
SET "SQLITE3_EXE=sqlite3.exe"
SET "DB_FILE=MY_DB.db"
SET "TEMP_FILE_NAME=temp_filt_4_import_sql_rename.txt"
SET "TEMP_SQL_FILE=temp_sql_filt_4_import.txt"echo ------------------------------------------
echo  开始执行 SQL 文件!
echo ------------------------------------------
REM 遍历所有参数(sql文件),逐个导入
:IMPORT_LOOP
IF "%~1"=="" GOTO :END_OF_FILES
echo  正在执行: %~1
echo BEGIN TRANSACTION; > %TEMP_SQL_FILE%
copy %~1 %TEMP_FILE_NAME% > nul
echo .read %TEMP_FILE_NAME% >> %TEMP_SQL_FILE%
echo COMMIT; >> %TEMP_SQL_FILE%
"%SQLITE3_EXE%" "%DB_FILE%" < %TEMP_SQL_FILE%
del %TEMP_FILE_NAME%
del %TEMP_SQL_FILE%
echo  执行完成: %~1
echo.
REM 移向下一项: SHIFT命令用于移动参数列表,使得%~1变为下一个文件,从而实现逐个处理。
SHIFT
GOTO :IMPORT_LOOP:END_OF_FILES
echo ------------------------------------------
echo  所有 SQL 文件执行结束!
echo ------------------------------------------
PAUSE

执行

写好 sql 文件,拖放到此 bat 上即可执行
在这里插入图片描述

2. 导出Excel.bat

有时为了方便查在这里插入代码片看数据,需要导出 excel。

@echo off
CHCP 65001 > nul
REM 定义sqlite3 路径,数据库文件路径
SET "SQLITE3_EXE=sqlite3.exe"
SET "DB_FILE=MY_DB.db"
SET "TEMP_FILE_NAME=temp_filt_4_import_sql_rename.txt"
SET "TEMP_SQL_FILE=temp_sql_filt_4_import.txt"echo ------------------------------------------
echo  导出表格到 excel 开始
echo ------------------------------------------
REM 遍历所有参数(sql文件),逐个导入
:IMPORT_LOOP
IF "%~1"=="" GOTO :END_OF_FILES
echo  正在导出 Excel: %~1copy %~1 %TEMP_FILE_NAME% > nul
echo BEGIN TRANSACTION; > %TEMP_SQL_FILE%
echo .headers on >> %TEMP_SQL_FILE%
echo .excel >> %TEMP_SQL_FILE%
echo .read %TEMP_FILE_NAME% >> %TEMP_SQL_FILE%
echo COMMIT; >> %TEMP_SQL_FILE%
"%SQLITE3_EXE%" "%DB_FILE%" < %TEMP_SQL_FILE%
del %TEMP_FILE_NAME%
del %TEMP_SQL_FILE%echo  完成导出 Excel: %~1
echo.
REM 移向下一项: SHIFT命令用于移动参数列表,使得%~1变为下一个文件,从而实现逐个处理。
SHIFT
GOTO :IMPORT_LOOP:END_OF_FILES
echo ------------------------------------------
echo  导出表格到 excel 结束
echo ------------------------------------------
PAUSE

执行

只要写好SQL文件,拖上来执行即可
在这里插入图片描述

效果

在这里插入图片描述

3. 导出HTML.bat

@echo off
setlocal enabledelayedexpansion
CHCP 65001 > nul
REM 定义sqlite3 路径,数据库文件路径
SET "SQLITE3_EXE=sqlite3.exe"
SET "DB_FILE=MY_DB.db"
SET "TEMP_FILE_NAME=sql_file_rename.txt"
SET "TEMP_SQL_FILE=temp_sql_file_4_execution.txt"
set "OUTPUT_HTML_FILE=temp_table.html"echo ------------------------------------------
echo  导出表格到 HTML 开始
echo ------------------------------------------
REM 遍历所有参数(sql文件),逐个导入
:IMPORT_LOOP
IF "%~1"=="" GOTO :END_OF_FILES
echo  开始导出: %~n1.htmlREM 使用 sqlite3 导出表格到临时文件 temp_table.html
copy %~1 %TEMP_FILE_NAME% > nul
echo .mode html >> %TEMP_SQL_FILE%
echo .headers on >> %TEMP_SQL_FILE%
echo .output %OUTPUT_HTML_FILE% >> %TEMP_SQL_FILE%
echo .read %TEMP_FILE_NAME% >> %TEMP_SQL_FILE%
echo .output stdout >> %TEMP_SQL_FILE%
"%SQLITE3_EXE%" "%DB_FILE%" < %TEMP_SQL_FILE%
del %TEMP_FILE_NAME%
del %TEMP_SQL_FILE%REM 读取 temp_table.html 拼接在一个变量 CONTENT 里
for /f "usebackq delims=" %%i in ("%OUTPUT_HTML_FILE%") do set "CONTENT=!CONTENT!%%i!"REM 构建完整的 HTML 文档并输出
> %~n1.html (echo ^<^^!DOCTYPE html^>echo ^<html^>echo ^<head^>echo     ^<title^>%~n1^</title^>echo ^<head^>echo ^<body^>echo     ^<table^>echo 		!CONTENT!echo     ^</table^>echo ^</body^>echo ^</html^>)
REM 删除临时文件
del %OUTPUT_HTML_FILE%
echo  完成导出: %~n1.html
echo.
REM 移向下一项: SHIFT命令用于移动参数列表,使得%~1变为下一个文件,从而实现逐个处理。
SHIFT
GOTO :IMPORT_LOOP:END_OF_FILES
echo ------------------------------------------
echo  导出表格到 HTML 结束
echo ------------------------------------------
endlocalPAUSE

执行

写好 sql 文件,拖放到此 bat 上即可执行
在这里插入图片描述

效果

在这里插入图片描述

4. 清空-订单表.bat

对于需要反复执行的操作,比如:清空某个表,也可以直接写个批处理:双击使用即可

@echo off
CHCP 65001 > nul
echo  清空:订单表
sqlite3 MY_DB.db "DELETE FROM `订单表`;"
echo  清空:完成
pause

5. 订单表.bat

常用查询直接写个批处理,要用时双击即可。

@echo off
CHCP 65001 > nul
sqlite3.exe MY_DB.db ".mode column" ".headers on" ".width 10 10 10 10 10 20" "SELECT * FROM 订单表;"
pause

在这里插入图片描述

2. 测试 SQL

1. 创建订单表.sql

CREATE TABLE 订单表 (OrderID INTEGER PRIMARY KEY,CustomerName TEXT NOT NULL,ProductName TEXT NOT NULL,Quantity INTEGER NOT NULL,Price REAL NOT NULL,OrderTime TEXT NOT NULL
);

2. 插入订单表.sql

INSERT INTO 订单表 (CustomerName, ProductName, Quantity, Price, OrderTime) VALUES ('张三', '苹果手机', 1, 5999.00, '2023-04-01 10:30:00');
INSERT INTO 订单表 (CustomerName, ProductName, Quantity, Price, OrderTime) VALUES ('李四', '小米手环', 2, 299.00, '2023-04-02 14:15:00');
INSERT INTO 订单表 (CustomerName, ProductName, Quantity, Price, OrderTime) VALUES ('王五', '华为笔记本', 1, 7999.00, '2023-04-03 16:45:00');
INSERT INTO 订单表 (CustomerName, ProductName, Quantity, Price, OrderTime) VALUES ('赵六', '三星电视', 1, 4999.00, '2023-04-04 18:30:00');

3. 查询订单表.sql

SELECT * FROM 订单表;

4. 清空订单表.sql

DELETE FROM "订单表";

5. 删除订单表.sql

DROP TABLE IF EXISTS "订单表";

参考资料

sqlite 官方文档

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nvm 管理多版本 node

1、下载 先不安装node 下载 nvm 1.1.10-setup.zip 解压&#xff1a;nvm&#xff1a;https://nvm.uihtm.com/ 新建nodejs/node、nodejs/nvm文件夹用于存放node版本和nvm安装路径 安装nvm&#xff1a;上述链接有安装教程 查看是否安装成功&#xff1a;重新打开cmd 输入 nvm nv…

Hyper-V克隆虚拟机教程分享!

方法1. 使用导出导入功能克隆Hyper-V虚拟机 导出和导入是Hyper-V服务器备份和克隆的一种比较有效的方法。使用此功能&#xff0c;您可以创建Hyper-V虚拟机模板&#xff0c;其中包括软件、VM CPU、RAM和其他设备的配置&#xff0c;这有助于在Hyper-V中快速部署多个虚拟机。 在…

输入框输入值之后,检索表格中是否存在输入框中的值,存在就让当前文字为红色

this.searchValue为输入框的值 createKeywordHtml_content(data) { if (data undefined) { return data; } if (typeof data ! string) { data String(data) } let value data.replace(this.searchValue, <span style"color:#FF5555">$&</span>…

来一组爱胜品1133DN PRO打印机的照片

刚拆箱的机器正面照片 打开前盖正准备要安装原装耗材 下图是原装耗材&#xff0c;硒鼓型号是DR2833、碳粉盒型号是TN2833,鼓组件打印页数12000页&#xff0c;TN2833标准容量粉盒打印页数1600页/5%覆盖率&#xff0c;TN2833H大容量粉盒打印页数3000页/5%覆盖率、TN2833L超大容量…

慢性肾脏病-MR+转录组文献

Identification of novel therapeutic targets for chronic kidney disease and kidney function by integrating multi-omics proteome with transcriptome - PMC (nih.gov) 数据和材料 Our pQTL summary data were acquired from previously published studies and can be f…

AdaBoost集成学习算法理论解读以及公式为什么这么设计?

本文致力于阐述AdaBoost基本步骤涉及的每一个公式和公式为什么这么设计。 AdaBoost集成学习算法基本上遵从Boosting集成学习思想&#xff0c;通过不断迭代更新训练样本集的样本权重分布获得一组性能互补的弱学习器&#xff0c;然后通过加权投票等方式将这些弱学习器集成起来得到…

RightFont 8.7.0 Mac专业字体管理工具

RightFont 适用于 macOS 的终极字体管理器应用程序&#xff0c;提供无缝的字体管理体验。它结合了速度、直观的功能和专业的功能&#xff0c;使用户能够轻松预览、安装、组织和共享字体。 RightFont 8.7.0 Mac下载 RightFont 8.0的新增功能 RightFont 8.0 带来了全新的智能选…

【电脑应用技巧】如何寻找电脑应用的安装包华为电脑、平板和手机资源交换

电脑的初学者可能会直接用【百度】搜索电脑应用程序的安装包&#xff0c;但是这样找到的电脑应用程序安装包经常会被加入木马或者强制捆绑一些不需要的应用装入电脑。 今天告诉大家一个得到干净电脑应用程序安装包的方法&#xff0c;就是用【联想的应用商店】。联想电脑我是一点…

比赛获奖的武林秘籍:05 电子计算机类比赛国奖队伍技术如何分工和学习内容

比赛获奖的武林秘籍&#xff1a;05 电子计算机类比赛国奖队伍技术如何分工和学习内容 摘要 本文主要介绍了在电子计算机类比赛中技术层面上的团队分工和需要学习的内容&#xff0c;分为了嵌入式硬件、嵌入式软件、视觉图像处理、机械、上位机软件开发和数据分析等六个方向&am…

文心一言 VS 讯飞星火 VS chatgpt (299)-- 算法导论22.1 3题

三、有向图 G ( V , E ) G(V,E) G(V,E) 的转置是图 G T ( V , E T ) G^{T} (V,E^{T}) GT(V,ET)&#xff0c;这里 E T { ( v , u ) ∈ V V E^{T} \{(v,u)∈ V \times V ET{(v,u)∈VV:(u,v)∈ E}$因此&#xff0c;图 G T G^{T} GT 就是将有向图 G G G中所有边的方向反过来…

java LogUtil输出日志打日志的class文件内具体方法和行号

最近琢磨怎么把日志打的更清晰&#xff0c;方便查找问题&#xff0c;又不需要在每个class内都创建Logger对象&#xff0c;还带上不同的颜色做区分&#xff0c;简直不要太爽。利用堆栈的方向顺序拿到日志的class问题。看效果&#xff0c;直接上代码。 1、demo test 2、输出效果…

【WebGIS平台】传统聚落建筑科普数字化建模平台

基于上述概括出建筑单体的特征部件&#xff0c;本文利用互联网、三维建模和地理信息等技术设计了基于浏览器/服务器&#xff08;B/S&#xff09;的传统聚落建筑科普数字化平台。该平台不仅实现了对传统聚落建筑风貌从基础到复杂的数字化再现&#xff0c;允许用户轻松在线构建从…

Linux 利用命名空间创建一个自己的“容器“

Linux 利用命名空间创建一个自己的"容器" 前置条件 创建一个目录存放容器mkdir /myapp准备静态编译busybox&#xff0c;操作系统自带的往往是依赖动态库的(本文使用的debian apt install busybox-static) 开始 使用unshare起一个独立命名空间.# 进入后/myapp目录…

【自学网络安全】:安全策略与用户认证综合实验

实验拓扑图&#xff1a; 实验任务&#xff1a; 1、DMZ区内的服务器&#xff0c;办公区仅能在办公时间内(9:00-18:00)可以访问&#xff0c;生产区的设备全天可以访问 2、生产区不允许访问互联网&#xff0c;办公区和游客区允许访问互联网 3、办公区设备10.0.2.10不允许访问Dmz区…

新闻资讯整合平台:一站式满足企业信息需求

摘要&#xff1a; 面对信息爆炸的时代&#xff0c;企业如何在海量数据中快速获取有价值资讯&#xff0c;成为提升竞争力的关键。本文将探讨如何通过一站式新闻资讯整合平台&#xff0c;实现企业信息需求的全面满足&#xff0c;提升决策效率&#xff0c;同时介绍实用工具推荐&a…

Redis数据类型和数据队列

一.Redis数据类型 参考资料&#xff1a;http://www.redis.cn/topics/data-types.html 相关命令参考: http://redisdoc.com/ Redis 是一种基于内存的开源数据结构存储系统&#xff0c;支持多种数据类型&#xff0c;每种数据类型都有自己特定的操作命令。 String&#xff08;字…

Games101学习笔记 Lecture17 Materials and Appearances

Lecture17 Materials and Appearances 材质 BRDF一、Diffuse/Lambertian Material二、Glossy Material三、Ideal reflective/ refractive Material (BSDF)1.镜面反射2.镜面折射3.菲涅尔项 Fresnel 四、Microfacet BRDF 微表面五、Isotropic / Anisotropic Materials (BRDFs)An…

博客标题:C++中的继承:构建面向对象的基石

目录 ​编辑 引言 继承的基本形式 示例1&#xff1a;基本继承 继承的类型 示例2&#xff1a;不同类型的继承 多重继承 示例3&#xff1a;多重继承 继承与多态性 示例4&#xff1a;继承与多态 结论 结尾 引言 在面向对象编程&#xff08;OOP&#xff09;中&#xff…

【持续集成_03课_Linux部署Sonar+Gogs+Jenkins】

一、通过虚拟机搭建Linux环境-CnetOS 1、安装virtualbox&#xff0c;和Vmware是一样的&#xff0c;只是box更轻量级 1&#xff09;需要注意内存选择&#xff0c;4G 2、启动完成后&#xff0c;需要获取服务器IP地址 命令 ip add 服务器IP地址 通过本地的工具&#xff0c;进…

新手教学系列——crontab 使用不当引发的服务器性能问题

起因及症状 最近,我们的一台服务器随着运行时间的增加,逐渐出现了压力过大的问题。具体表现为数据库连接数飙升至 4000+,Redis 频繁超时,系统报错文件打开数过多等。针对这些问题,我们逐一检查了数据库连接池、Redis 连接池以及系统的 ulimit 配置,但都未能找到问题的根…