Python鏈接SQLite數據庫


Python鏈接SQLite數據庫面試


SQLite數據庫更多內容: http://blog.itpub.net/26736162/viewspace-2141867/ sql


SQLite 是一種嵌入式數據庫,它的數據庫就是一個文件。因爲 SQLite 自己是 C 寫的,並且體積很小,因此,常常被集成到各類應用程序中,甚至在 iOS Android App 中均可以集成。 Python 就內置了 SQLite3 ,因此,在 Python 中使用 SQLite ,不須要安裝任何東西,直接使用。 數據庫

Python 定義了一套操做數據庫的 API 接口,任何數據庫要鏈接到 Python ,只須要提供符合 Python 標準的數據庫驅動便可。因爲 SQLite 的驅動內置在 Python 標準庫中,所以能夠直接來操做 SQLite 數據庫。 網絡

Python 中操做數據庫時,要先導入數據庫對應的驅動,而後經過 Connection 對象和 Cursor 對象操做數據。在數據庫操做完畢以後,要確保打開的 Connection 對象和 Cursor 對象都正確地被關閉,不然,資源就會泄露。 ide


Python 鏈接到 SQLite 數據庫示例: 學習

# 導入SQLite驅動
import sqlite3,os
# 鏈接到SQLite數據庫
# 數據庫文件是lhrtest.db
# 若是文件不存在,那麼會自動在當前目錄建立一個數據庫文件:
conn = sqlite3.connect('lhrtest.db')
 
# db_file = os.path.join(os.path.dirname(__file__), 'lhrtest.db')
# if os.path.isfile(db_file):
#     os.remove(db_file)
# conn = sqlite3.connect(db_file)
 
# 建立一個Cursor:
cursor = conn.cursor()
# 執行一條SQL語句,建立user表:
cursor.execute('create table user(id varchar(20) primary key, name varchar(20))')
# 繼續執行一條SQL語句,插入一條記錄:
cursor.execute('insert into user (id, name) values (\'1\', \'xiaomaimiao\')')
# 經過rowcount得到插入的行數:
print(cursor.rowcount)
# 執行查詢語句:
cursor.execute('select * from user where id=?', ('1',))
# 得到查詢結果集:
values = cursor.fetchall()
print(values)
# 關閉Cursor:
cursor.close()
# 提交事務:
conn.commit()
# 關閉Connection:
conn.close()

 


運行結果: fetch

1
[('1', 'xiaomaimiao')]

 

在程序運行完畢後,會在程序的當前目錄下生成一個 lhrtest.db 文件,以下所示: ui

 

可使用 SQLLite 的客戶端查看數據庫文件的內容: spa

 

使用 Python DB API 時,只要搞清楚 Connection Cursor 對象,打開後必定記得關閉,就能夠放心地使用。 .net

使用 Cursor 對象執行 insert update delete 語句時,執行結果由 rowcount 返回影響的行數,就能夠拿到執行結果。

使用 Cursor 對象執行 select 語句時,經過 featchall() 能夠拿到結果集。結果集是一個 list ,每一個元素都是一個 tuple ,對應一行記錄。

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

cursor.execute('select*from user where name=?and pwd=?',('abc','password'))

 










About Me

........................................................................................................................

● 本文做者:小麥苗,部份內容整理自網絡,如有侵權請聯繫小麥苗刪除

● 本文在itpub( http://blog.itpub.net/26736162 )、博客園( http://www.cnblogs.com/lhrbest )和我的weixin公衆號( xiaomaimiaolhr )上有同步更新

● 本文itpub地址: http://blog.itpub.net/26736162

● 本文博客園地址: http://www.cnblogs.com/lhrbest

● 本文pdf版、我的簡介及小麥苗雲盤地址: http://blog.itpub.net/26736162/viewspace-1624453/

● 數據庫筆試面試題庫及解答: http://blog.itpub.net/26736162/viewspace-2134706/

● DBA寶典今日頭條號地址: http://www.toutiao.com/c/user/6401772890/#mid=1564638659405826

........................................................................................................................

● QQ羣號: 230161599 (滿) 、618766405

● weixin羣:可加我weixin,我拉你們進羣,非誠勿擾

● 聯繫我請加QQ好友 646634621 ,註明添加原因

● 於 2019-01-01 06:00 ~ 2019-01-31 24:00 在魔都完成

● 最新修改時間:2019-01-01 06:00 ~ 2019-01-31 24:00

● 文章內容來源於小麥苗的學習筆記,部分整理自網絡,如有侵權或不當之處還請諒解

● 版權全部,歡迎分享本文,轉載請保留出處

........................................................................................................................

小麥苗的微店 https://weidian.com/s/793741433?wfr=c&ifr=shopdetail

小麥苗出版的數據庫類叢書 http://blog.itpub.net/26736162/viewspace-2142121/

小麥苗OCP、OCM、高可用網絡班 http://blog.itpub.net/26736162/viewspace-2148098/

小麥苗騰訊課堂主頁 https://lhr.ke.qq.com/

........................................................................................................................

使用 weixin客戶端 掃描下面的二維碼來關注小麥苗的weixin公衆號( xiaomaimiaolhr )及QQ羣(DBA寶典)、添加小麥苗weixin, 學習最實用的數據庫技術。

........................................................................................................................

歡迎與我聯繫

 

 




來自 「 ITPUB博客 」 ,連接:http://blog.itpub.net/26736162/viewspace-2557184/,如需轉載,請註明出處,不然將追究法律責任。

相關文章
相關標籤/搜索