SQLite5-使用Python來讀寫數據庫

SQLite支持多種編程語言的開發調用:C, C++ , PHP, Perl, Java, C# ,Python, Ruby等。

本篇先介紹Python語言來調用SQLite數據庫,為什麼先介紹Python呢?因為Python用起來十分方便,簡單的幾行代碼,就能夠實現我們想要的功能(當然前提是先配置好python的開發環境)。

1 Python讀寫SQLite基本流程

這裡先列舉出Python讀寫SQLite數據庫的基本流程:

2 編程實現

2.1 基本流程

引入sqlite3依賴包後,首先是連接數據庫,調用的是connect方法:

fileDB = 'test4.db' # 數據庫文件
conn = sqlite3.connect(fileDB) # 連接數據庫

然後需要創建遊標:

cur = conn.cursor() # 創建遊標

這時,就可以通過execute方法執行sql語句瞭,比如查詢語句:

sql = 'select * from SCORE' # SQLite語句(查詢數據)
cur.execute(sql)

我們也可以將查詢到的數據打印出來:

print(cur.fetchall())   # 打印所有數據

最後關閉連接

conn.close() # 關閉連接

2.2 數據插入

使用python程序連接到數據庫後,也可通過程序來實現數據插入數據庫,隻需要繼續使用execute方法執行sql語句即可。

2.2.1 插入單條數據

有兩種方式可以實現單條數據的插入:

# 插入單條數據
data = "7,70,81,88"
cur.execute('insert into SCORE values (%s)' % data) # 方式1
cur.execute("insert into SCORE values(?,?,?,?)", (8, 81, 85, 83)) # 方式2

2.2.2 插入多條數據

多條數據一起插入,就要使用executemany方法:

# 插入多條數據
cur.executemany('insert into SCORE values(?,?,?,?)', [(9, 85, 88, 86), (10, 88, 83, 90)])

2.2.3 保存數據

最後要調用commit,才能將數據庫的修改保存下來:

# 提交(保存)
conn.commit()

3 測試

3.1 運行python程序

編寫python程序,插入一些數據進行測試。

執行python程序,結果如下:

3.2 命令行查看驗證

使用命令行來查看數據庫,可以發現數據庫中已經新增瞭幾條數據,說明通過python程序已經成功修改瞭數據庫的內容。

4 附:完整程序

完整的python程序如下:

import sqlite3

fileDB = 'test4.db' # 數據庫文件
sql = 'select * from SCORE' # SQLite語句(查詢數據)

# 連接數據庫
conn = sqlite3.connect(fileDB)

# 執行sql語句
cur = conn.cursor() # 創建遊標
cur.execute(sql)

# 打印
print(cur.fetchone())   # 打印第1條數據
print(cur.fetchmany(2)) # 再打印2條數據
print(cur.fetchall())   # 再打印所有數據

# 插入單條數據
data = "7,70,81,88"
cur.execute('insert into SCORE values (%s)' % data) # 方式1
cur.execute("insert into SCORE values(?,?,?,?)", (8, 81, 85, 83)) # 方式2
# 插入多條數據
cur.executemany('insert into SCORE values(?,?,?,?)', [(9, 85, 88, 86), (10, 88, 83, 90)])

# 打印
cur.execute(sql)
print('------------') 
print(cur.fetchall())

# 提交(保存)
conn.commit()

# 關閉連接
conn.close()

5 總結

本篇介紹瞭如何使用Python語言來進行SQLite數據庫的讀寫,在嵌入式式開發中,更多的是使用**C/C++**語言進行開發,因此,下篇我們介紹如何使用C語言來進行SQLite數據庫的讀寫。

到此這篇關於SQLite5-使用Python來讀寫數據庫的文章就介紹到這瞭,更多相關Python讀寫數據庫內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: