首頁  >  文章  >  後端開發  >  sqlite如何安裝?簡單說明Python中self用法詳解

sqlite如何安裝?簡單說明Python中self用法詳解

Tomorin
Tomorin原創
2018-08-16 17:38:322096瀏覽

SQLite是一種嵌入式資料庫,它的資料庫就是一個檔案。由於SQLite本身是C寫的,而且體積很小,所以,經常被整合到各種應用程式中,甚至在iOS和Android的App中都可以整合。

Python就內建了SQLite3,所以,在Python中使用SQLite,不需要安裝任何東西,直接使用。

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

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

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

連接到資料庫後,需要開啟遊標,稱為Cursor,透過Cursor執行SQL語句,然後,獲得執行結果。

Python定義了一套操作資料庫的API接口,任何資料庫要連接到Python,只需要提供符合Python標準的資料庫驅動即可。

由於SQLite的驅動程式內建在Python標準函式庫中,所以我們可以直接來操作SQLite資料庫。

我們在Python互動式命令列實作一下:

# 导入SQLite驱动:
>>> import sqlite3
# 连接到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))')
<sqlite3.Cursor object at 0x10f8aa260>
# 继续执行一条SQL语句,插入一条记录:
>>> cursor.execute(&#39;insert into user (id, name) values (\&#39;1\&#39;, \&#39;Michael\&#39;)&#39;)
<sqlite3.Cursor object at 0x10f8aa260>
# 通过rowcount获得插入的行数:
>>> cursor.rowcount
1
# 关闭Cursor:
>>> cursor.close()
# 提交事务:
>>> conn.commit()
# 关闭Connection:
>>> conn.close()

我們再試試查詢記錄:

>>> conn = sqlite3.connect(&#39;test.db&#39;)
>>> cursor = conn.cursor()
# 执行查询语句:
>>> cursor.execute(&#39;select * from user where id=?&#39;, &#39;1&#39;)
<sqlite3.Cursor object at 0x10f8aa340>
# 获得查询结果集:
>>> values = cursor.fetchall()
>>> values
[(u&#39;1&#39;, u&#39;Michael&#39;)]
>>> cursor.close()
>>> conn.close()

使用Python的DB-API時,只要搞清楚Connection和Cursor對象,開啟後一定記得關閉,就可以放心使用。

使用Cursor物件執行insert,update,delete語句時,執行結果由rowcount傳回影響的行數,就可以拿到執行結果。

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

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

cursor.execute(&#39;select * from user where id=?&#39;, &#39;1&#39;)

SQLite支援常見的標準SQL語句以及幾種常見的資料類型。具體文件請參閱SQLite官方網站。

小結


#在Python中操作資料庫時,要先匯入資料庫對應的驅動,然後,透過Connection物件和Cursor物件操作資料。

要確保開啟的Connection物件和Cursor物件都正確地關閉,否則,資源就會洩漏。

如何確保出錯的情況下也關閉掉Connection物件和Cursor物件呢?請回想try:...except:...finally:...的用法。



以上是sqlite如何安裝?簡單說明Python中self用法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn