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.pswp.cn/web/42680.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/42680.shtml
英文地址,請注明出處:http://en.pswp.cn/web/42680.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Qt Qwt 圖表庫詳解及使用

文章目錄 Qt Qwt 圖表庫詳解及使用一、Qwt 概述二、安裝 Qwt1. 下載和編譯 Qwt2. 在項目中使用 Qwt三、Qwt 的基本使用1. 創建一個簡單的折線圖2. 添加圖例和自定義樣式四、Qwt 的交互功能1. 啟用縮放和平移2. 啟用數據點選擇五、Qwt 的高級特性1. 實時數據更新2. 多軸繪圖六、…

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中快速部署多個虛擬機。 在…

深入理解基本數據結構:數組詳解

引言 在計算機科學中&#xff0c;數據結構是存儲、組織和管理數據的方式。數組作為最基礎的數據結構之一&#xff0c;廣泛應用于各種編程場景。在這篇博客中&#xff0c;我們將詳細探討數組的定義、特點、操作及其在不同編程語言中的實現。 什么是數組&#xff1f; 數組是一種…

原生android的內存性能提升方面的方案大致設計

一 測試目標&#xff1a; 以滿足用戶設備的內存性能和不殺后臺為目標。 1&#xff1a;滿足用戶設備的內存性能是指不出現因為內存原因導致的安卓設備死機&#xff0c;卡頓等問題。 2&#xff1a;滿足不殺后臺是指整個設備使用時&#xff0c;不出現后臺app被殺。 通常是估算如果…

構造函數注入@RequiredArgsConstructor

Api(tags "用戶管理接口") RequiredArgsConstructor RestController RequestMapping("users") public class UserController {private final IUserService userService;PostMappingApiOperation("新增用戶")public void saveUser(RequestBody U…

輸入框輸入值之后,檢索表格中是否存在輸入框中的值,存在就讓當前文字為紅色

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超大容量…

Intel base instruction -- cvttsd2si

將截斷雙精度浮點數并轉換為有符號整數。 4958: 8b 05 82 49 00 00 mov 0x4982(%rip),%eax # 92e0 <age_to_colorBase> // eaxgvar_92e0 495e: 48 8d 15 7b 49 00 00 lea 0x497b(%rip),%rdx # 92e0 <age_to_colorBase&g…

慢性腎臟病-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…

三. 根文件系統構建

根文件系統構建好以后就意味著我們已經擁有了一個完整的,可以運行的最小系統. 一. 根文件系統簡介 根文件系統一般也叫做 rootfs&#xff0c;那么什么叫根文件系統&#xff1f;Linux 中的根文件系統更像是一個文件夾或者叫做目錄,在這個目錄里面會有很多的子目錄,目錄下的文件…

《妃夢千年》第二十九章:朝中波瀾

第二十九章&#xff1a;朝中波瀾 自從被封為護國夫人后&#xff0c;林清婉在大周的地位愈發穩固&#xff0c;她的智慧和勇氣不僅贏得了皇上的信任&#xff0c;也獲得了朝中眾臣的敬佩。然而&#xff0c;這也引來了部分人的嫉妒和不滿&#xff0c;他們開始在暗中謀劃&#xff0…

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目錄…