溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python 操作 SQLite 數(shù)據(jù)庫(kù)

發(fā)布時(shí)間:2020-07-23 06:01:42 來源:網(wǎng)絡(luò) 閱讀:385 作者:Python熱愛者 欄目:編程語言

SQLite 是一個(gè)小型的關(guān)系型數(shù)據(jù)庫(kù),它最大的特點(diǎn)在于不需要單獨(dú)的服務(wù)、零配置。我們?cè)谥爸v過的兩個(gè)數(shù)據(jù)庫(kù),不管是 MySQL 還是 MongoDB,都需要我們安裝。安裝之后,然后運(yùn)行起來,其實(shí)這就相當(dāng)于已經(jīng)有一個(gè)相應(yīng)的服務(wù)在跑著。

SQLite 與前面所說的兩個(gè)數(shù)據(jù)庫(kù)不同。首先Python 已經(jīng)將相應(yīng)的驅(qū)動(dòng)模塊作為了標(biāo)準(zhǔn)庫(kù)的一部分,只要是你安裝了 Python,就可以使用;再者它可以類似于操作文件那樣來操作 SQLite 數(shù)據(jù)庫(kù)文件。還有一點(diǎn),SQLite 源代碼不受版權(quán)限制。

建立連接

SQLite 也是一個(gè)關(guān)系型數(shù)據(jù)庫(kù),所以 SQL 可以直接在里面使用。由于 SQLite 的驅(qū)動(dòng)已經(jīng)在 Python 里面了,所以只要引用就可以直接使用,由于我們之前已經(jīng)講過 MySQL 了,所以對(duì)于本次內(nèi)容理解起來就容易多了。


Python 操作 SQLite 數(shù)據(jù)庫(kù)

由上面的代碼我們得到了連接對(duì)象,是不是覺得比 MySQL 連接要簡(jiǎn)單很多呢?在 sqlite3.connect('lite.db') 中,如果已經(jīng)有了那個(gè)數(shù)據(jù)庫(kù),就直接連接它,如果沒有的話,就會(huì)自動(dòng)建一個(gè)。需要注意的是,這里的路徑是可以隨意指定的。

下面的代碼顯示的是連接對(duì)象的屬性和方法:


Python 操作 SQLite 數(shù)據(jù)庫(kù)

建立游標(biāo)

這一步其實(shí)跟 MySQL 也很類似,連接了數(shù)據(jù)庫(kù)之后,要建立游標(biāo)對(duì)象:

>>> cur = conn.cursor()

接下來就是對(duì)數(shù)據(jù)庫(kù)內(nèi)容的操作,都是用游標(biāo)對(duì)象方法來實(shí)現(xiàn):


Python 操作 SQLite 數(shù)據(jù)庫(kù)

我們?cè)诶锩婵吹搅艘幌盗形覀兪煜さ拿Q:close()、execute()、fetchall() 等。

1.創(chuàng)建數(shù)據(jù)庫(kù)表

面對(duì) SQLite 數(shù)據(jù)庫(kù),我們之前熟悉的 SQL 指令都可以用:


Python 操作 SQLite 數(shù)據(jù)庫(kù)

這樣就在數(shù)據(jù)庫(kù) lite.db 中建立了一個(gè)表 books。對(duì)這個(gè)表可以增加數(shù)據(jù):


Python 操作 SQLite 數(shù)據(jù)庫(kù)

為了保證數(shù)據(jù)能夠保存,還要進(jìn)行如下操作:


Python 操作 SQLite 數(shù)據(jù)庫(kù)

以上,在剛才建立的數(shù)據(jù)庫(kù)中已經(jīng)有了一個(gè)表 books,表中已經(jīng)有了一條記錄。

2.查詢

保存以后我們來查詢一下:


Python 操作 SQLite 數(shù)據(jù)庫(kù)

3.批量插入

我們來給 books 表中多增加一些內(nèi)容,以便于我們進(jìn)行其它的操作:


Python 操作 SQLite 數(shù)據(jù)庫(kù)

這次我們來一個(gè)批量插入:

Python 操作 SQLite 數(shù)據(jù)庫(kù)

接下來我們用循環(huán)語句來打印一下查詢結(jié)果:


Python 操作 SQLite 數(shù)據(jù)庫(kù)

4.更新

正如我們前面所說的,在 cur.execute() 中,可以寫 SQL 語句來操作數(shù)據(jù)庫(kù):


Python 操作 SQLite 數(shù)據(jù)庫(kù)

接下來我們按照條件查詢來看一看:


Python 操作 SQLite 數(shù)據(jù)庫(kù)

5.刪除

刪除也是操作數(shù)據(jù)庫(kù)必須的動(dòng)作:


Python 操作 SQLite 數(shù)據(jù)庫(kù)

最后不要忘記在完成對(duì)數(shù)據(jù)庫(kù)的操作以后,一定記得給人家「關(guān)上門」:


Python 操作 SQLite 數(shù)據(jù)庫(kù)

寫在之后

基本的知識(shí)差不多就是這些,當(dāng)然肯定不局限于此。在實(shí)際的編程中我們肯定會(huì)遇到很多的問題,大家記得要多多去查閱官方文檔,學(xué)會(huì)解決問題。


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI