python學習 使用SQLite

2021-07-15 04:48:56 字數 2494 閱讀 6301

python就內建了sqlite3,所以,在python中使用sqlite,不需要安裝任何東西,直接使用。

在使用sqlite前,我們先要搞清楚幾個概念:

表是資料庫中存放關係資料的集合,乙個資料庫裡面通常都包含多個表,比如學生的表,班級的表,學校的表,等等。表和表之間通過外來鍵關聯。

要操作關聯式資料庫,首先需要連線到資料庫,乙個資料庫連線稱為connection;

連線到資料庫後,需要開啟游標,稱之為cursor,通過cursor執行sql語句,然後,獲得執行結果。

python定義了一套運算元據庫的api介面,任何資料庫要連線到python,只需要提供符合python標準的資料庫驅動即可。

由於sqlite的驅動內建在python標準庫中,所以我們可以直接來操作sqlite資料庫。

我們在python互動式命令列實踐一下:

# 匯入sqlite驅動:

>>>importsqlite3

# 連線到sqlite資料庫

# 資料庫檔案是test.db

# 如果檔案不存在,會自動在當前目錄建立:

>>> conn = sqlite3.connect('test.db')

# 建立乙個cursor:

>>> cursor = conn.cursor()

# 執行一條sql語句,建立user表:

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

0x10f8aa260>

# 繼續執行一條sql語句,插入一條記錄:

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

0x10f8aa260>

# 通過rowcount獲得插入的行數:

>>> cursor.rowcount

1# 關閉cursor:

>>> cursor.close()

# 提交事務:

>>> conn.commit()

# 關閉connection:

>>> conn.close()

我們再試試查詢記錄:

>>> conn = sqlite3.connect('test.db')

>>> cursor = conn.cursor()

# 執行查詢語句:

>>> cursor.execute('select * from user where id=?', ('1',))

0x10f8aa340>

# 獲得查詢結果集:

>>> values = cursor.fetchall()

>>> values

[('1', 'michael')]

>>> cursor.close()

>>> conn.close()

使用python的db-api時,只要搞清楚connectioncursor物件,開啟後一定記得關閉,就可以放心地使用。

使用cursor物件執行insertupdatedelete語句時,執行結果由rowcount返回影響的行數,就可以拿到執行結果。

使用cursor物件執行select語句時,通過featchall()可以拿到結果集。結果集是乙個list,每個元素都是乙個tuple,對應一行記錄。

如果sql語句帶有引數,那麼需要把引數按照位置傳遞給execute()方法,有幾個?佔位符就必須對應幾個引數,例如:

cursor.execute('select*fromuserwherename=?andpwd=?', ('abc', 'password'))

sqlite支援常見的標準sql語句以及幾種常見的資料型別。具體文件請參閱sqlite官方**。

在python中運算元據庫時,要先導入資料庫對應的驅動,然後,通過connection物件和cursor物件運算元據。

要確保開啟的connection物件和cursor物件都正確地被關閉,否則,資源就會洩露。

如何才能確保出錯的情況下也關閉掉connection物件和cursor物件呢?請回憶try:...except:...finally:...的用法。

android中使用adb檢視sqlite資料庫

1.進入到控制台中,輸入adb shell,進入到命令模式的環境中 2.輸入cd data data 轉換到專案資料夾 3.選擇的專案檔案,比如我的com.android.homework,輸入命令 cd com.android.homework 4.可以使用ls l 命令檢視當前目錄中的檔案 5....

Python儲存二進位制資料到sqlite3

我們有這樣乙個需求 要儲存二進位制檔案到資料庫,以後還要從資料庫讀出來使用。到網上g了一下,發現可以實現,記錄以備忘。coding utf8 python2.6.2 import sqlite3 db sqlite3.connect test.db cur db.cursor cur.execute...

python中sqlit3中的增刪改查

1.引入驅動包 2.連線資料庫,得到會話 3.生成游標 4.插入一些資料。注意主鍵id列不能重複 5.關閉游標 6.提交 commit 7.斷開會話連線,釋放資源 import sqlite3 連線乙個資料庫,沒有的話會自動建立 connect sqlite3.connect testsqlite....