亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python 操作sqlite數(shù)據(jù)庫(kù)的方法

 更新時(shí)間:2021年06月22日 16:02:46   作者:臨時(shí)營(yíng)地  
sqlite的官網(wǎng) sqlite.org/index.html SQLite 作為一個(gè)SQL數(shù)據(jù)庫(kù)引擎,是由C語(yǔ)言實(shí)現(xiàn)的,又小又快,具有高可靠性且功能齊全。 作為嵌入式數(shù)據(jù)庫(kù),在移動(dòng)設(shè)備中使用非常廣泛且方便。本文講解如何使用python操作sqlite數(shù)據(jù)庫(kù)

前言

sqlite的官網(wǎng) sqlite.org/index.html SQLite 作為一個(gè)SQL數(shù)據(jù)庫(kù)引擎,是由C語(yǔ)言實(shí)現(xiàn)的,又小又快,具有高可靠性且功能齊全。 作為嵌入式數(shù)據(jù)庫(kù),在移動(dòng)設(shè)備中使用非常廣泛且方便。Python3中內(nèi)嵌了sqlite的驅(qū)動(dòng),我們直接導(dǎo)入就行。

import sqlite3

簡(jiǎn)單介紹

首先我們給大家一個(gè)能夠運(yùn)行的Python程序,讓大家對(duì)Python操作sqlite數(shù)據(jù)庫(kù)有一個(gè)直觀的感受。

# 導(dǎo)入SQLite驅(qū)動(dòng):
import sqlite3
# 連接到SQLite數(shù)據(jù)庫(kù)
# 數(shù)據(jù)庫(kù)文件是test.db
# 如果文件不存在,會(huì)自動(dòng)在當(dāng)前目錄創(chuàng)建:
conn = sqlite3.connect('test.db')
# 創(chuàng)建一個(gè)Cursor:
cursor = conn.cursor()
# 執(zhí)行一條SQL語(yǔ)句,創(chuàng)建user表:
cursor.execute('create table user (id varchar(20) primary key, name varchar(20))')


# 繼續(xù)執(zhí)行一條SQL語(yǔ)句,插入一條記錄:
cursor.execute('insert into user (id, name) values (\'1\', \'Michael\')')


# 通過(guò)rowcount獲得插入的行數(shù):
print(cursor.rowcount)


# 關(guān)閉Cursor:
cursor.close()
# 提交事務(wù):
conn.commit()
# 關(guān)閉Connection:
conn.close()

我們用Navicat連接這個(gè)數(shù)據(jù)庫(kù),可以看到

需要注意的是每次關(guān)閉連接之前,一定要commit,否則做的任何操作都不會(huì)提交到數(shù)據(jù)庫(kù)中

創(chuàng)建或連接數(shù)據(jù)庫(kù)

conn = sqlite3.connect('test.db') 首先我們要做的是連接數(shù)據(jù)庫(kù),注意如果我們要訪問(wèn)的數(shù)據(jù)庫(kù)不存在,那么會(huì)自動(dòng)創(chuàng)建一個(gè)的 conn 就是一個(gè)數(shù)據(jù)庫(kù)連接對(duì)象從上面的程序里我們可以看到

1.它可以創(chuàng)建一個(gè)游標(biāo)cursor = conn.cursor()
2.它可以提交事務(wù)conn.commit()
3.它還可以關(guān)閉連接cursor.close()
4.它還可以對(duì)事務(wù)做回滾cursor.rollback(),不過(guò)程序之中沒(méi)有展示出來(lái)

隔離級(jí)別可以在conn建立之前通過(guò)傳入?yún)?shù)來(lái)進(jìn)行修改
conn = sqlite3.connect('test.db', isolation_level=None) 這樣,對(duì)應(yīng)的代碼就不再需要commit()操作了

游標(biāo)

游標(biāo)對(duì)象有以下的操作

execute()--執(zhí)行sql語(yǔ)句   
executemany--執(zhí)行多條sql語(yǔ)句   
close()--關(guān)閉游標(biāo)   
fetchone()--從結(jié)果中取一條記錄,并將游標(biāo)指向下一條記錄   
fetchmany()--從結(jié)果中取多條記錄   
fetchall()--從結(jié)果中取出所有記錄   
scroll()--游標(biāo)滾動(dòng)  

我們一般用到的是execute()更多一些

創(chuàng)建表

下面的代碼可以創(chuàng)建表

cursor.execute('create table user (id varchar(20) primary key, name varchar(20))')

可以看到建表語(yǔ)句和MySQL非常類似 創(chuàng)建自增主鍵的語(yǔ)句

CREATE TABLE "main"."test" (
  "id" integer NOT NULL PRIMARY KEY AUTOINCREMENT
);

在Navicat的創(chuàng)建sqlite自增主鍵和MySQL也是非常類似

插入

插入這里很簡(jiǎn)單的

cursor.execute('insert into user (id, name) values (\'1\', \'Michael\')')

查詢

查詢這里需要講一講 是要先讓游標(biāo)將sql語(yǔ)句執(zhí)行掉,再通過(guò)上面介紹的

fetchone()--從結(jié)果中取一條記錄,并將游標(biāo)指向下一條記錄   
fetchmany()--從結(jié)果中取多條記錄   
fetchall()--從結(jié)果中取出所有記錄   

來(lái)進(jìn)行查詢

查詢總數(shù)

cursor.execute("select count(*) from user")
print(cursor.fetchone())
# (2,)

查詢所有

cursor.execute("select * from user")
print(cursor.fetchall())
# [('1', 'Michael'), ('2', 'Danny')]

查詢第一條

cursor.execute("select * from user")
print(cursor.fetchone())
# ('1', 'Michael')

分頁(yè)查詢

cursor.execute("select * from user LIMIT 1, 2")
print(cursor.fetchall())

更新

更新呢也比較簡(jiǎn)單

cursor.execute("update user set name='test' where id='1'")

這里只要?jiǎng)e忘了執(zhí)行commit就行

刪除

cursor.execute("delete from catalog where id = 4")

總結(jié)

人生苦短,我用 Python,在強(qiáng)大的Python幫助下,我們只需幾行代碼就可以操作sqlite數(shù)據(jù)庫(kù)來(lái)儲(chǔ)存查詢我們想要的數(shù)據(jù)。

以上就是python 操作sqlite數(shù)據(jù)庫(kù)的方法的詳細(xì)內(nèi)容,更多關(guān)于python 操作sqlite數(shù)據(jù)庫(kù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python字符串拼接的7種方法及性能比較詳解

    python字符串拼接的7種方法及性能比較詳解

    這篇文章主要介紹了python字符串拼接的7種方法詳解,需要的朋友可以參考下
    2021-04-04
  • ?分享Python?中的?7?種交叉驗(yàn)證方法

    ?分享Python?中的?7?種交叉驗(yàn)證方法

    這篇文章主要給大家分享的是Python?中的?7?種交叉驗(yàn)證方法,交叉驗(yàn)證是一種用于估計(jì)機(jī)器學(xué)習(xí)模型性能的統(tǒng)計(jì)方法,它是一種評(píng)估統(tǒng)計(jì)分析結(jié)果如何推廣到獨(dú)立數(shù)據(jù)集的方法,下文相關(guān)介紹,需要的朋友可以參考一下
    2022-03-03
  • Python configparser模塊配置文件解析與應(yīng)用探究

    Python configparser模塊配置文件解析與應(yīng)用探究

    在Python中,configparser模塊是用于處理配置文件的重要工具,本文將全面探討configparser模塊的使用方法,包括讀取、修改、寫入配置文件,以及如何在實(shí)際項(xiàng)目中應(yīng)用該模塊,結(jié)合豐富的示例代碼,將深入剖析該模塊的功能和靈活性
    2024-01-01
  • 使用python編寫監(jiān)聽端

    使用python編寫監(jiān)聽端

    這篇文章主要為大家詳細(xì)介紹了使用python編寫監(jiān)聽端,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • Python3.5文件讀與寫操作經(jīng)典實(shí)例詳解

    Python3.5文件讀與寫操作經(jīng)典實(shí)例詳解

    這篇文章主要介紹了Python3.5文件讀與寫操作,結(jié)合實(shí)例形式詳細(xì)分析了Python針對(duì)文件的讀寫操作常用技巧與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-05-05
  • 解決Python中導(dǎo)入自己寫的類,被劃紅線,但不影響執(zhí)行的問(wèn)題

    解決Python中導(dǎo)入自己寫的類,被劃紅線,但不影響執(zhí)行的問(wèn)題

    這篇文章主要介紹了解決Python中導(dǎo)入自己寫的類,被劃紅線,但不影響執(zhí)行的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07
  • PyCharm安裝PyQt5及其工具(Qt Designer、PyUIC、PyRcc)的步驟詳解

    PyCharm安裝PyQt5及其工具(Qt Designer、PyUIC、PyRcc)的步驟詳解

    這篇文章主要介紹了PyCharm安裝PyQt5及其工具(Qt Designer、PyUIC、PyRcc)的步驟,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • python基于BeautifulSoup實(shí)現(xiàn)抓取網(wǎng)頁(yè)指定內(nèi)容的方法

    python基于BeautifulSoup實(shí)現(xiàn)抓取網(wǎng)頁(yè)指定內(nèi)容的方法

    這篇文章主要介紹了python基于BeautifulSoup實(shí)現(xiàn)抓取網(wǎng)頁(yè)指定內(nèi)容的方法,涉及Python使用BeautifulSoup模塊解析html網(wǎng)頁(yè)的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • numpy中的掩碼數(shù)組的使用

    numpy中的掩碼數(shù)組的使用

    本文主要介紹了numpy中的掩碼數(shù)組的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Pytorch中實(shí)現(xiàn)只導(dǎo)入部分模型參數(shù)的方式

    Pytorch中實(shí)現(xiàn)只導(dǎo)入部分模型參數(shù)的方式

    今天小編就為大家分享一篇Pytorch中實(shí)現(xiàn)只導(dǎo)入部分模型參數(shù)的方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01

最新評(píng)論