新聞中心
Python是一種流行的編程語言,可以用于開發(fā)各種應用程序,從圖形用戶界面到網(wǎng)站和游戲。Python的一個特點是,它內(nèi)置了一個輕量級的關系型數(shù)據(jù)庫SQLite,它可以提供快速、簡單的數(shù)據(jù)存儲和檢索。本篇博客將介紹Python內(nèi)置數(shù)據(jù)庫SQLite的特點、用法和一些實用技巧,幫助讀者更好地利用它來構建全面的應用程序。

成都創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都網(wǎng)站設計、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的沙洋網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!
1. 初識SQLite
SQLite是一個輕量級的數(shù)據(jù)庫,它不需要單獨的服務器進程,可以直接嵌入到Python程序中。Python內(nèi)置了對SQLite的支持,內(nèi)置庫不需要安裝,我們可以通過SQLite3模塊來使用SQLite數(shù)據(jù)庫。
SQLite數(shù)據(jù)庫使用的.db文件是一種數(shù)據(jù)庫文件,屬于二進制文件類型。它是由SQLite引擎創(chuàng)建和管理的,用于存儲和管理數(shù)據(jù)。SQLite數(shù)據(jù)庫文件包含了表格、行和列等結構化數(shù)據(jù),并提供了對這些數(shù)據(jù)的讀取、寫入和查詢等功能。
SQLite數(shù)據(jù)庫文件的特點如下:
- 單個文件:SQLite數(shù)據(jù)庫通常由單個.db文件組成,包含了所有的表格和數(shù)據(jù),沒有額外的配置文件或目錄。
- 壓縮格式:SQLite數(shù)據(jù)庫文件使用了一種專有的壓縮格式,可以有效地壓縮和存儲大量的數(shù)據(jù)。
- 跨平臺可移植性:SQLite數(shù)據(jù)庫文件可以在不同的操作系統(tǒng)上進行共享和使用,包括Windows、Linux、Mac等。
- 零配置:創(chuàng)建和使用SQLite數(shù)據(jù)庫文件通常不需要進行任何額外的配置或服務器設置,只需使用合適的庫或工具即可。
由于SQLite數(shù)據(jù)庫文件是二進制格式,并且具有一定的文件結構和格式,所以通常需要使用專門的SQLite數(shù)據(jù)庫引擎或相關的工具才能正確地讀取、寫入和操作這些文件。
2.牛刀小試
import sqlite3
# 連接到數(shù)據(jù)庫
conn = sqlite3.connect('example.db')
# 創(chuàng)建一個游標對象
cursor = conn.cursor()
# 執(zhí)行一個查詢
cursor.execute('SELECT SQLITE_VERSION()')
# 打印查詢結果
data = cursor.fetchone()
print("SQLite version:", data)
# SQLite version: ('3.40.1',)
# 關閉連接
conn.close()
3. Sqlite的增刪改查
以下是一個簡單的SQLite使用示例:
import sqlite3
# 連接到數(shù)據(jù)庫
conn = sqlite3.connect('user.db')
# 創(chuàng)建一個游標對象
cursor = conn.cursor()
# 創(chuàng)建表格
# 創(chuàng)建一個名為students的表,包含id、name和age三個字段
cursor.execute('''CREATE TABLE students (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)''')
# cursor.execute('''CREATE TABLE stocks
# (date text, trans text, symbol text, qty real, price real)''')
# 插入數(shù)據(jù)
# 向students表中插入一條數(shù)據(jù)
cursor.execute("INSERT INTO students (name, age) VALUES ('張三', 20)")
# cursor.execute("INSERT INTO stocks VALUES ('2022-10-28', 'BUY', 'GOOG', 100, 490.1)")
# 保存更改
conn.commit()
# 關閉連接
conn.close()在上述例子中,我們新建了一張表,并且插入了一條數(shù)據(jù),但是我們一般是打不開這個文件的,需要借助插件來查看數(shù)據(jù)文件;這個時候需要安裝一個插件:
SQLite3 Editor
如下所示:
然后就可以預覽剛才數(shù)據(jù)的操作:
建表完成之后就可以進行數(shù)據(jù)的增刪改查。
(1) 查詢數(shù)據(jù)
import sqlite3
# 連接到數(shù)據(jù)庫
conn = sqlite3.connect('user.db')
# 創(chuàng)建一個游標對象
cursor = conn.cursor()
# 查詢users表中的所有數(shù)據(jù)
cursor.execute("SELECT * FROM students")
rows = cursor.fetchall()
# 打印查詢結果
for row in rows:
print(row)
# 關閉連接
conn.close()
# (1, '張三', 20)(2) 更新數(shù)據(jù)
import sqlite3
# 連接到數(shù)據(jù)庫
conn = sqlite3.connect('user.db')
# 創(chuàng)建一個游標對象
cursor = conn.cursor()
# 更新users表中id為1的數(shù)據(jù)的name字段為'李四'
cursor.execute("UPDATE students SET name=? WHERE id=?", ('李四', 1))
# 查詢users表中的所有數(shù)據(jù)
cursor.execute("SELECT * FROM students")
rows = cursor.fetchall()
# 打印查詢結果
for row in rows:
print(row)
# 關閉連接
conn.close()
# (1, '李四', 20)(3) 刪除數(shù)據(jù)
import sqlite3
# 連接到數(shù)據(jù)庫
conn = sqlite3.connect('example.db')
# 創(chuàng)建一個游標對象
cursor = conn.cursor()
# 刪除users表中id為1的數(shù)據(jù)
cursor.execute("DELETE FROM students WHERE id=?", (1,))
# 提交更改并關閉連接
conn.commit()
conn.close()(4) 提交事務
conn.commit()(5) 關閉游標和連接
cursor.close()
conn.close()
總結
Python內(nèi)置的SQLite數(shù)據(jù)庫具有自包含、跨平臺、無服務器和易于使用的特點,可以幫助開發(fā)人員快速創(chuàng)建和維護小型數(shù)據(jù)庫應用。此外,Python語言自身也提供了豐富的模塊和庫,可以與SQLite無縫協(xié)作,非常方便。在此基礎上,我們可以嘗試更高級的數(shù)據(jù)庫技術,如ORM(對象關系映射)、數(shù)據(jù)庫遷移和分布式系統(tǒng)構建等。相信有了這篇博客的幫助,您對Python內(nèi)置的SQLite會有更深入的了解并深受裨益。
新聞名稱:Python內(nèi)置數(shù)據(jù)庫:輕量級SQLite
網(wǎng)站鏈接:http://www.5511xx.com/article/coehjep.html


咨詢
建站咨詢
