欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解在python操作數據庫中游標的使用方法

 更新時間:2019年11月12日 09:39:11   作者:Python探索牛  
這篇文章主要介紹了在python操作數據庫中游標的使用方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下

cursor就是一個Cursor對象,這個cursor是一個實現了迭代器(def__iter__())和生成器(yield)的MySQLdb對象,這個時候cursor中還沒有數據,只有等到fetchone()或fetchall()的時候才返回一個元組tuple,才支持len()和index()操作,這也是它是迭代器的原因。但同時為什么說它是生成器呢?因為cursor只能用一次,即每用完一次之后記錄其位置,等到下次再取的時候是從游標處再取而不是從頭再來,而且fetch完所有的數據之后,這個cursor將不再有使用價值了,即不再能fetch到數據了。

數據庫支持

使用簡單的純文本只能實現有退限的功能,所需要引入數據庫,完成更強大的功能,本節(jié)使用的簡單數據庫SQLite 。

SQLite 和PySQLite

sqlite是非常著名的開源嵌入式數據庫軟件,它可以嵌入到其他程序中使用,并且提供SQL接口用來查詢,非常方便。它的官方站點為http://www.sqlite.org。

而pysqlite 則是一個sqlite 為 python 提供的 api 接口,它讓一切對于 sqlite 的操作都變得異常簡單

在python2.5版本這后,SQLite的優(yōu)勢在于它的一個包裝(PySQLite)已經被包括在標準庫內,所以我們可以直接使用。

入門操作

可以將SQLite作為名為sqlite3的模塊導入。之后就可以創(chuàng)建一個到數據庫文件的連接----如果文件不存在就會被創(chuàng)建----通過提供一個文件名:

>>> import sqlite3
>>> conn= sqlite3.connect('somedatabase.db') # 創(chuàng)建數據庫
>>>cu =conn.cursor() #能獲得連接的游標
#創(chuàng)建數據表
>>>cu.execute("""create table catalog (
 id integer primary key,
 pid integer,
 name varchar(10) UNIQUE
 )""")
#插入兩條數據
>>>cu.execute("insert into catalog values(0,0,'name1')")
>>>cu.execute("insert into catalog values(1,0,'name2')")
>>>conn.commit()
#選擇(select)
>>>cu.execute("select * from catalog")
>>>cu.fetchall() 
[(0, 0, 'name1'), (1, 0, 'name2')]
>>>cu.execute("select * from catalog where id = 1")
>>>cu.fetchall()
[(1, 0, 'name2')]
#修改(update)
>>>cu.execute(“update catalog set name='name2′ where id = 0″)
>>> cx.commit()
>>> cu.execute(“select * from catalog”)
>>> cu.fetchone()
(0, 0, ‘name2′)
#刪除(delete)
>>>cu.execute(“delete from catalog where id= 1″)
>>> cx.commit()
>>> cu.execute(“select * from catalog”)
>>> cu.fetchall()
[(0, 0, 'name2')]

連接

為了使用基礎數據庫系統,首先必須連接到它,這個時候需要使用具有名稱的connect函數,該函數有多個參數,而具體用哪個參數取決于數據庫。

connect函數的常用參數:

connect函數返回連接對象。這個對象表示目前和數據庫的會話。連接對象支持的方法如下;

連接對象方法:

commit 方法總是可用的,但如果數據庫不支持事務,它就沒有任何作用。如果關閉了連接但還有未提交的事務,它們會隱式地回滾---但是只有在數據庫支持持回滾的時候才可以。

rollback 方法可能不可用,因為不是所有的數據庫都支持事務(事務是一系列動作)。如果可用,那么就可以“撤銷”所有未提交的事務。

cursor 方法將我們引入另外一個主題:游標對象。通過游標掃行SQL 查詢并檢查結果。游標連接支持更多的方法,而且可能在程序中更好用。

游標:

cu = conn.cursor()

能獲得連接的游標,這個游標可以用來執(zhí)行SQL查詢。

conn.commit()

完成插入并且做出某些更改后確保已經進行了提交,這樣才可以將這些修改真正地保存到文件中。

游標對象方法:

游標對象特性:

cu.fetchone()

fetchall()返回結果集中的全部數據,結果為一個tuple的列表。每個tuple元素是按建表的字段順序排列。注意,游標是有狀態(tài)的,它可以記錄當前已經取到結果的第幾個記錄了,因此,一般你只可以遍歷結果集一次。在上面的情況下,如果執(zhí)行fetchone()會返回為空。這一點在測試時需要注意。

conn.close()

可以在每次修改數據庫后都進行提交,而不是僅僅在準備關閉才提交,準備關閉數據時,使用close 方法。

總結

以上所述是小編給大家介紹的在python操作數據庫中游標的使用方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

相關文章

  • Python實戰(zhàn)購物車項目的實現參考

    Python實戰(zhàn)購物車項目的實現參考

    今天小編就為大家分享一篇關于Python實戰(zhàn)購物車項目的實現參考,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • python經典趣味24點游戲程序設計

    python經典趣味24點游戲程序設計

    這篇文章主要介紹了python經典趣味24點游戲程序設計,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • python+selenium開發(fā)環(huán)境搭建圖文教程

    python+selenium開發(fā)環(huán)境搭建圖文教程

    這篇文章主要為大家詳細介紹了python+selenium開發(fā)環(huán)境搭建的圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • django認證系統實現自定義權限管理的方法

    django認證系統實現自定義權限管理的方法

    這篇文章主要介紹了django認證系統實現自定義權限管理的方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • python編程之requests在網絡請求中添加cookies參數方法詳解

    python編程之requests在網絡請求中添加cookies參數方法詳解

    這篇文章主要介紹了python編程之requests在網絡請求中添加cookies參數方法詳解,具有一定參考價值,需要的朋友可以了解下。
    2017-10-10
  • python實現控制臺輸出彩色字體

    python實現控制臺輸出彩色字體

    這篇文章主要為大家詳細介紹了python實現控制臺輸出彩色字體,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • Python實現讀取大量Excel文件并跨文件批量計算平均值

    Python實現讀取大量Excel文件并跨文件批量計算平均值

    這篇文章主要為大家詳細介紹了如何利用Python語言,實現對多個不同Excel文件進行數據讀取與平均值計算的方法,感興趣的可以了解一下
    2023-02-02
  • Python基于docker部署的Mysql備份查詢腳本

    Python基于docker部署的Mysql備份查詢腳本

    這篇文章主要來和大家分享Python基于docker部署的Mysql備份查詢的腳本,文中的示例代碼講解詳細,有需要的小伙伴可以跟隨小編一起了解下
    2024-04-04
  • python中棧的原理及實現方法示例

    python中棧的原理及實現方法示例

    這篇文章主要介紹了python中棧的原理及實現方法,結合實例形式分析了Python棧的概念、原理、常見操作方法及相關使用技巧,需要的朋友可以參考下
    2019-11-11
  • Java中MultipartFile與File互轉的實現

    Java中MultipartFile與File互轉的實現

    本文主要介紹了Java中MultipartFile與File互轉的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03

最新評論