腳本經常需要處理文本,有時候是行列整齊文本。那么powershell腳本處理行列文本有幾種方法呢?一種是excel,另外的一些是?access?sqlite?
sqlite是一個很小巧的,很方便嵌入到腳本語言中的,關系型數據庫。它給powershell提供了一個免費的,處理行列整齊數據,存儲數據,統計數據的極品神器。
只要你學會了它,上天入地皆可去得。而且以后學sql server,mysql,都類似,沒有難度。
帶著引號搜本文關鍵字: "^_^上天入地皆可去^_^"
發文初衷:世界上幾乎沒有講powershell調用sqlite的帖子。
初稿,會更新。有錯誤歡迎指正,謝謝。
------------------【sqlite 字段類型】------------------
sqlite只有5種數據類型,用于存儲。
數據類型 占用字節 描述
NULL
TEXT ? 使用數據庫編碼(UTF-8,UTF-16BE或者UTF-16LE)存放
INTEGER 根據值的大小以1,2,3,4,6或8字節存放 值是有符號整形
REAL 以8字節IEEE浮點數存放
BLOB 最多 1,000,000,000 字節 只是一個數據塊,完全按照輸入存放(即沒有準換)存放。
使用時會將【內存數據類型】和【存儲數據類型】之間進行轉換。
如將布爾值,轉換成INTEEGER存儲。具體參見手冊:
http://www.sqlite.org/datatype3.html
沒有日期型,沒有布爾型,這一點要注意。
------------------【應用場景,重要!】------------------
powershell 傳教士 原創文章 始作于 2016-01-01 元旦, 改 允許轉載,但必須保留名字和出處,否則追究法律責任
下為個人整理的應用場合,如有不妥,請斧正。
1 存儲數據。中量數據。
這個中量數據是指,由于sqlite表不支持分區,所以應該在一億條以下,或者更少。
excel表存儲數據有個行數(記錄條數)限制,104萬左右。比如我有110萬數據,只有一列,要統計列最大值。這時用excel就不方便了。
excel中每單元格最大存儲32k字節,access2016中,每個text字段的容量存儲為64k字節,行數倒是夠用。
2 各種數據統計。
3 由于sqlite支持純內存數據庫,把所有庫放在內存中??梢越Y合上述兩種需求。即從大庫查詢(或導出)部分數據,在內存中進行統計。
4 缺點是:數據展示不好。不像excel、access那樣(對業務人員)有表,圖。
5 sqlite是關系型數據庫,join,group by,order by這些基本功能和mysql,sql server比不遜色。單線程性能也很好。另外單機,綠色,軟件1M以下,支持數據量極大,比access強。
------------------【圖形管理工具】------------------
英文:
SQLiteStudio http://sqlitestudio.pl/
SQLiteManager http://www.sqlabs.com/
SQLite Expert http://www.sqliteexpert.com/
新聞熱點
疑難解答