Python 資料庫SQLite 游標

2021-08-11 04:49:32 字數 2693 閱讀 9097

sqlite 是一種嵌入式資料庫,它的資料庫就是乙個檔案。python 內建了sqlite3,所以,可以直接使用。

使用sqlite,介紹幾個概念:

1. 表: 是資料庫中存放關係資料的集合。表與表之間通過外來鍵關聯。

操作關聯式資料庫必須執行以下幾個步驟:

1. 連線到資料庫,乙個資料庫連線稱為connection;

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

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

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

importsqlite3

conn=sqlite3.connect('test.db')//連線到sqlite3 資料庫 資料庫檔案是test.db

cursor=conn.cursor()//建立乙個cursor

cursor.execute('create table user1 (

idvarchar(20) primary key,

name

varchar(20))')//建立表

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

\',\'micha

\')')//插入記錄

cursor.rowcount 通過rowcount 獲得插入的行數

cursor.close()

conn.commit()

conn.close()

查詢記錄:

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

cursor=conn.cursor()

cursor.execute('select

*from user where id=?'

,('1'

,))values=cursor.fetchall()

printvalues

cursor.close()

conn.close()

結果:

[(u'1', u'micha')]

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

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

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

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

cursor.execute('select * from

user

where name=? and pwd=?', ('abc', 'password'))

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

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

如何:確保出錯的情況下關閉掉關閉掉connection 物件和cursor 物件。

importsqlite3

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

cursor=conn.cursor()

sql1='create table user1 (

idvarchar(20) primary key,

name

varchar(20))'

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

\',\'micha

\')')

cursor.rowcount

try:

conn.execute(sql1)

resut=conn.fetchall()

print('result')

conn.close()

conn.commit()

exceptexception

ase:

raisee

finally:

conn.close()

Python 操作sqlite資料庫

sqlite是一種輕量級的資料庫,它最大的特點就是無需安裝。資料庫本身以乙個單獨的檔案的形式存放。sqlite只有5種資料型別 null 值是乙個 null 值。integer 值是乙個帶符號的整數,根據值的大小儲存在 1 2 3 4 6 或 8 位元組中。real 值是乙個浮點值,儲存為 8 位元...

Python連線SQLite資料庫

sqlite作為一款輕型資料庫,管理工具有很多,比如sqlite expert professional,很適合用來儲存python 爬蟲的相關資料,下面列出基本的增刪查改操作 讀取操作 conn1 sqlite3.connect board.databasepath conn1.row facto...

python操作sqlite資料庫

sqlite資料庫是一款輕量級的資料庫,無伺服器 零配置 事務性的sql資料庫引擎。sqlite是世界上最廣泛部署的sql資料庫引擎,而且sqlite的源 不受版權限制,是小型專案和簡單web應用的理想選擇。sqlite資料庫是乙個單一的,不依賴於其他模組與元件的資料庫檔案,它允許我們直接訪問儲存檔...