python建db文件_临时数据库之python用sqlite3模块操作sqlite
SQLite是一個包含在C庫中的輕量級數據庫。它并不需要獨立的維護進程,并且允許使用非標準變體(nonstandard variant)的SQL查詢語句來訪問數據庫。
一些應用可是使用SQLite保存內部數據。它也可以在構建應用原型的時候使用,以便于以后轉移到更大型的數據庫。
SQLite的主要優點:
1. 一致性的文件格式:
在SQLite的官方文檔中是這樣解釋的,我們不要將SQLite與Oracle或PostgreSQL去比較,與我們自定義格式的數據文件相比,SQLite不僅提供了很好的
移植性,如大端小端、2020年12月24日位等平臺相關問題,而且還提供了數據訪問的高效性,如基于某些信息建立索引,從而提高訪問或排序該類數據的性能,SQLite提供的事務功能,也是在操作普通文件時無法有效保證的。
2. 在嵌入式或移動設備上的應用:
由于SQLite在運行時占用的資源較少,而且無需任何管理開銷,因此對于PDA、智能手機等
移動設備來說,SQLite的優勢毋庸置疑。
3. 內部數據庫:
在有些應用場景中,我們需要為插入到數據庫服務器中的數據進行數據過濾或數據清理,以保證最終插入到數據庫服務器中的數據有效性。有的時候,數據是否有效,不能通過單一一條記錄來進行判斷,而是需要和之前一小段時間的歷史數據進行特殊的計算,再通過計算的結果判斷當前的數據是否合法。
在這種應用中,我們可以用SQLite緩沖這部分歷史數據。還有一種簡單的場景也適用于SQLite,即統計數據的預計算。比如我們正在運行數據實時采集的服務程序,我們可能需要將每10秒的數據匯總后,形成每小時的統計數據,該統計數據可以極大的減少用戶查詢時的數據量,從而大幅提高前端程序的查詢效率。在這種應用中,我們可以將1小時內的采集數據均緩存在SQLite中,在達到整點時,計算緩存數據后清空該數據。
4. 數據分析:
可以充分利用SQLite提供SQL特征,完成簡單的數據統計分析的功能。這一點是yaml,csv文件無法比擬的。
用我的話來說,他很小,很適合做臨時的數據庫,遷移數據很簡單,直接傳遞文件就可以了。 其實我一開是是選用leveldb的,但是他的特性像nosql,一些稍微復雜的查詢,就有些麻煩了。
1、創建一個新的數據庫:sqlite3 ? ? 文件名
這個test.db 存放著所有的數據。
sqlite3 ?rui.db
2、打開一個已經存在的數據庫:sqlite3 ? ? ?已經存在的文件名
創建一個新數據庫和打開一個已經存在的數據庫命令是一模一樣的,如果文件在當前目錄下不存在,則新建;如果存在,則打開。
3、導入數據:.read ? ? 數據文件
打開記事本,并將下列 SQL 語句復制到記事本中,保存為 test.sql 到上面說到的 Db 目錄下,在命令行環境中輸入
.read ? test.sql
即將所有的數據導入到 rui.db 數據庫中。
4、列出所有的數據表: .tables
完成上面所有的工作以后,我們就可以列出所有的數據表了
5、顯示數據庫結構:.schema
其實就是一些 SQL 語句,他們描述了數據庫的結構,如圖
6、顯示表的結構:.schema ? ?表名
7、導出某個表的數據: .dump ? ?表名
再來講解下python sqlite3的用法,其實和mysqldb很像吧,他的語法和mysql差不多
本文轉自 rfyiamcool 51CTO博客,原文鏈接:http://blog.51cto.com/rfyiamcool/1433196,如需轉載請自行聯系原作者
總結
以上是生活随笔為你收集整理的python建db文件_临时数据库之python用sqlite3模块操作sqlite的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: knx智能照明控制系统电路图_智能照明控
- 下一篇: Dlib机器学习库安装