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/,如需轉載,請註明出處,不然將追究法律責任。