欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python數(shù)據(jù)庫如何連接SQLite詳解

 更新時間:2021年08月17日 11:36:52   作者:wakeyo_J  
這篇文章主要介紹了Python實現(xiàn)連接SQLite數(shù)據(jù)庫的方法,在Python數(shù)據(jù)庫編程中有著廣泛的應用,需要的朋友可以參考下,希望能給你帶來幫助

1. 建立與SQLite數(shù)據(jù)庫的連接

SQLite是python自帶的一款基于內(nèi)存或硬盤的、開源的、關系型的輕量級數(shù)據(jù)庫。這意味著無需下載安裝SQLite數(shù)據(jù)庫產(chǎn)品和對應的數(shù)據(jù)庫驅(qū)動程序,可以被python語言以模塊導入方式直接調(diào)用。其位置在python的安裝路徑為Lib/sqlite3/。

對關系型數(shù)據(jù)庫進行讀寫操作,需要建立如下幾個操作步驟:

  • 第一步,建立應用系統(tǒng)與數(shù)據(jù)庫的連接;
  • 第二步,需要建立數(shù)據(jù)庫實例,通俗理解是建立一個存儲數(shù)據(jù)庫的文件;
  • 第三步,建立對應的表結構;
  • 第四步,往表里寫記錄,讀記錄;
  • 第五步,關閉與數(shù)據(jù)庫的連接。

1.1 建立基于內(nèi)存的數(shù)據(jù)庫

import sqlite3   #導入sqlite3模塊
conn = sqlite3.connect(":memory:")     #建立一個基于內(nèi)存的數(shù)據(jù)庫
conn.close()        #關閉與數(shù)據(jù)庫的連接

當對數(shù)據(jù)庫操作完成時,建議養(yǎng)成及時關閉數(shù)據(jù)庫連接的好習慣,避免打開數(shù)據(jù)庫連接過多,消耗內(nèi)存存儲空間。

1.2 建立基于硬盤的數(shù)據(jù)庫

import sqlite3   #導入sqlite3模塊
conn = sqlite3.connect("First.db")     #建立一個基于硬盤的數(shù)據(jù)庫實例
conn.close()        #關閉與數(shù)據(jù)庫的連接

效果:

執(zhí)行代碼后,在python的安裝路徑下生成First.db文件。

在這里插入圖片描述

1.3 基于內(nèi)存和基于硬盤的區(qū)別

基于內(nèi)存數(shù)據(jù)庫容易丟失(特別是關機或因突發(fā)事故就會丟失內(nèi)存里的數(shù)據(jù)),基于硬盤數(shù)據(jù)可以持久保存基于內(nèi)存數(shù)據(jù)讀寫速度快,基于硬盤數(shù)據(jù)讀寫速度慢基于內(nèi)存數(shù)據(jù)存儲容量受內(nèi)容受內(nèi)容可用空間限制,基于硬盤數(shù)據(jù)存儲容量受限于硬盤可用空間

2. 在指定數(shù)據(jù)庫里建立表結構

在關系型數(shù)據(jù)庫中,需要創(chuàng)建關系型特征的表結構,才能往表里寫入數(shù)據(jù)以及進行數(shù)據(jù)庫的操作。

將下列二維結構化記錄表依次存放到數(shù)據(jù)庫表中。

請?zhí)砑訄D片描述

建立一個對應的數(shù)據(jù)庫表需要建立釣魚日期、名稱、數(shù)量、價格、備注五個字段。其中,字段值需要確定數(shù)據(jù)類型,如數(shù)量為整數(shù),價格為浮點數(shù),釣魚日期、名稱、備注為字符型。

2.1 建立數(shù)據(jù)庫表結構

import sqlite3   #導入sqlite3模塊
conn = sqlite3.connect("First.db")     #建立一個基于硬盤的數(shù)據(jù)庫實例
cur = conn.cursor()         #通過建立數(shù)據(jù)庫游標對象,準備讀寫操作
cur.execute("Create table T_fish(date text,name text,nums int,price real,Explain text)")  #根據(jù)上表結構建立對應的表結構對象
cur.execute("insert into T_fish Values('2018-3-28','黑魚',10,28.3,'tom')")    #插入一行記錄結果信息
conn.commit()   #保存提交,確保數(shù)據(jù)保存成功
conn.close()        #關閉與數(shù)據(jù)庫的連接

在First.db數(shù)據(jù)庫中創(chuàng)建一個T_fish表,然后往表里插入一行記錄,最后提交保存并關閉數(shù)據(jù)庫連接。

  • 建立數(shù)據(jù)庫表采用的時標準SQL命令的方法,在數(shù)據(jù)庫里創(chuàng)建對應的T_fish表。
  • 插入一行記錄,通過游標的execu()方法,利用SQL的insert命令往T_fish表里執(zhí)行一條插入記錄;可以連續(xù)多行執(zhí)行execu()方法,執(zhí)行多條SQL語句
  • 提交保存,在對數(shù)據(jù)庫進行寫操作時,最后必須調(diào)用Connection對象的commit()方法,才能把數(shù)據(jù)真的提交到數(shù)據(jù)庫中,否則會存在數(shù)據(jù)丟失。

游標起指向某數(shù)據(jù)庫的某表的作用,只有建立了確定的表的指向關系,才能進行插入、修改、刪除、查找等操作。

2.2 查找數(shù)據(jù)

import sqlite3
conn = sqlite3.connect("First.db")   #連接數(shù)據(jù)庫
cur = conn.cursor()        #創(chuàng)建關聯(lián)數(shù)據(jù)庫的游標實例
cur.execute("select * from T_fish")  #對T_fish表執(zhí)行數(shù)據(jù)查找命令
for row in cur.fetchall():      #以一條記錄為元組單位返回結果給row
    print(row)
conn.close()   #關閉數(shù)據(jù)庫

效果:

在這里插入圖片描述

2.3 刪除數(shù)據(jù)

import sqlite3
conn = sqlite3.connect("First.db")    #連接數(shù)據(jù)庫
cur = conn.cursor()         #創(chuàng)建游標實例
cur.execute("insert into T_fish Values('2018-3-29','鯉魚',17,10.3,'john')")   #插入一條數(shù)據(jù)
cur.execute("insert into T_fish Values('2018-3-30','鰱魚',9,9.2,'tim')")
conn.commit()   #提交數(shù)據(jù)保存到磁盤
cur.execute("select * from T_fish")    #查找表里的記錄
for row in cur.fetchall():
    print(row)
cur.execute("delete from T_fish where nums=10")   #刪除數(shù)量為10的記錄
conn.commit()   #提交結果到硬盤
print('=='*50)
cur.execute("select * from T_fish")    #查找T_fish表里的記錄
for row in cur.fetchall():
    print(row)
conn.close()

效果:

在這里插入圖片描述

總結

本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關注腳本之家的更多內(nèi)容!

相關文章

  • Python查找函數(shù)f(x)=0根的解決方法

    Python查找函數(shù)f(x)=0根的解決方法

    這篇文章主要介紹了Python查找函數(shù)f(x)=0根的解決方法,涉及Python數(shù)學運算函數(shù)求解的相關技巧,需要的朋友可以參考下
    2015-05-05
  • Python實例解析圖像形態(tài)學運算技術

    Python實例解析圖像形態(tài)學運算技術

    形態(tài)學處理方法是基于對二進制圖像進行處理的,卷積核決定圖像處理后的效果。本文將為大家詳細介紹一下OpenCV中的圖像形態(tài)學,感興趣的可以了解一下
    2022-03-03
  • Python 字符串類型列表轉(zhuǎn)換成真正列表類型過程解析

    Python 字符串類型列表轉(zhuǎn)換成真正列表類型過程解析

    這篇文章主要介紹了Python 字符串類型列表轉(zhuǎn)換成真正列表類型過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • python中argparse模塊及action='store_true'詳解

    python中argparse模塊及action='store_true'詳解

    argparse?是一個用來解析命令行參數(shù)的?Python?庫,它是?Python?標準庫的一部分,這篇文章主要介紹了python中argparse模塊及action=‘store_true‘詳解,需要的朋友可以參考下
    2023-02-02
  • Python .format()函數(shù)使用方法詳解

    Python .format()函數(shù)使用方法詳解

    python中format函數(shù)用于字符串的格式化,接下來通過本文給大家介紹python中format()函數(shù)的簡單使用教程,一起看看吧
    2021-10-10
  • python模擬表單提交登錄圖書館

    python模擬表單提交登錄圖書館

    這篇文章主要為大家詳細介紹了python模擬表單提交登錄圖書館的實現(xiàn)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • 6行Python代碼實現(xiàn)進度條效果(Progress、tqdm、alive-progress​​​​​​​和PySimpleGUI庫)

    6行Python代碼實現(xiàn)進度條效果(Progress、tqdm、alive-progress​​

    這篇文章主要介紹了6行Python代碼實現(xiàn)進度條效果(Progress、tqdm、alive-progress和PySimpleGUI庫),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01
  • python生成IP段的方法

    python生成IP段的方法

    這篇文章主要介紹了python生成IP段的方法,涉及Python文件讀寫及隨機數(shù)操作的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • python dataframe如何選擇某一列非空的行

    python dataframe如何選擇某一列非空的行

    這篇文章主要介紹了python dataframe如何選擇某一列非空的行問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • django的autoreload機制實現(xiàn)

    django的autoreload機制實現(xiàn)

    這篇文章主要介紹了django的autoreload機制實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06

最新評論