<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

玩轉SQLite5:使用Python來讀寫數據庫

碼農愛學習 ? 來源:碼農愛學習 ? 作者:碼農愛學習 ? 2022-09-25 08:51 ? 次閱讀

前面幾篇,介紹了命令行方式和圖形界面方式讀寫數據庫,而數據庫的實際應用,通常需要與程序結合起來,通過程序來實現對數據庫的訪問和讀寫。

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

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

1 Python讀寫SQLite基本流程

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

poYBAGMu9umAIomwAADD8aPlltA746.png

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程序,結果如下:

pYYBAGMu952AS9P9AAFQYVZ0Nlo904.png

3.2 命令行查看驗證

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

poYBAGMu96aAFVAuAACMt1M98Aw490.png

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數據庫的讀寫。

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據庫
    +關注

    關注

    7

    文章

    3591

    瀏覽量

    63376
  • SQlite
    +關注

    關注

    0

    文章

    78

    瀏覽量

    15769
  • python
    +關注

    關注

    51

    文章

    4678

    瀏覽量

    83476
收藏 人收藏

    評論

    相關推薦

    玩轉SQLite6:使用C語言來讀寫數據庫

    本篇簡單介紹了如何使用SQLite的C語言API中最基礎的幾個函數,實現對數據庫讀寫,后續再介紹其它常用的C語言API函數的用法。
    的頭像 發表于 09-25 08:52 ?1174次閱讀
    <b class='flag-5'>玩轉</b><b class='flag-5'>SQLite</b>6:使用C語言來<b class='flag-5'>讀寫</b><b class='flag-5'>數據庫</b>

    Wince系統基于數據庫Sqlite的應用

    ` SQLite,是一款輕型的數據庫,是遵守ACID的關聯式數據庫管理系統,它的設計目標是嵌入式的,而且目前已經在很多嵌入式產品中使用了它,它占用資源非常的低,在嵌入式設備中,可能只需要幾百K的內存
    發表于 07-18 11:31

    關于Lv與Sqlite數據庫的通信

    有大神做過Lv與Sqlite數據庫的通信嗎?謝謝了
    發表于 06-22 22:01

    Python操作SQLite數據庫---插入溫度記錄

    SQLite數據庫中包含一張只包含三個字段的記錄表——參數名稱,時間和溫度值。本文使用pythonSQLite數據庫中插入樹莓派溫度
    發表于 09-18 17:09

    如何用labview創建SQLite數據庫?

    如何用labview創建SQLite數據庫,謝謝
    發表于 01-22 17:19

    LabVIEW訪問SQLite數據庫接口研究

    不在適用。在這里我們引入了SQLite數據庫。1. SQLite數據庫簡介SQLite第一個Alpha版本誕生于2000年
    發表于 02-04 13:38

    LabVIEW訪問SQLite數據庫(調用sqlite3.dll)

    最近研究了一下LabVIEW訪問SQLite數據庫,NI官網上有現成的工具包,但我覺得用的麻煩,因此研究了一下直接通過“調用庫函數節點”調用sqlite3.dll。
    發表于 03-22 10:23

    基于dragonboard410c的sqlite3數據庫數據存儲和管理

    的android系統都使用sqlite3進行數據存儲和管理,本文將介紹如何使用python腳本來訪問sqlite3
    發表于 09-21 10:59

    嵌入式系統到底該選哪款數據庫,SQLite真的是最優解嗎?

    :TDengine的服務是單個持久性進程,對每個時間序列單獨建表,支持很好的并發;而SQLite只提供數據庫級的鎖定,在并發的讀寫方面性能不是很好,數據庫可能會被寫操作獨占,從而導致其
    發表于 02-11 11:02

    Labview基于JKI SMO框架Sqlite輕量數據庫讀寫

    本帖最后由 Harry2017 于 2021-1-18 20:30 編輯 Labview讀寫Sqlite數據庫,基于JKI SMO框架面向對象框架方式讀寫
    發表于 01-10 19:11

    嵌入式數據庫sqlite移植及使用的資料分享

    嵌入式數據庫sqlite移植及使用一、實驗目的二.實驗內容三.預備知識四.實驗設備及工具(包括軟件調試工具)五.實驗步驟5.1 移植嵌入式數據庫 sqlite一、實驗目的理解嵌入式軟件
    發表于 10-28 09:48

    Sqlite移動嵌入式數據庫Sqlite的日常SQL操作語句是什么?

    Sqlite移動嵌入式數據庫Sqlite的日常SQL操作語句是什么?
    發表于 12-27 07:37

    Python編程之SQLITE-DTU701 輝為科技

    相比 MySQL 而言,SQLite 更為輕便、易于維護和部署。本文使用PythonSQLite數據庫中插入溫度數據,
    發表于 06-01 19:48

    SQLite數據庫的特點 SQLite數據庫簡單介紹

    SQLite數據庫的特點 SQLite數據庫簡單介紹 SQLite數據庫是一種輕型的嵌入式
    的頭像 發表于 08-28 16:40 ?3748次閱讀

    SQLite數據庫python的區別

    SQLite數據庫python的區別 SQLite是一種輕量級關系型數據庫管理系統,是一個嵌入式的數據
    的頭像 發表于 08-28 16:41 ?537次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>