最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解在python操作數(shù)據(jù)庫中游標(biāo)的使用方法

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

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

數(shù)據(jù)庫支持

使用簡單的純文本只能實(shí)現(xiàn)有退限的功能,所需要引入數(shù)據(jù)庫,完成更強(qiáng)大的功能,本節(jié)使用的簡單數(shù)據(jù)庫SQLite 。

SQLite 和PySQLite

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

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

在python2.5版本這后,SQLite的優(yōu)勢在于它的一個包裝(PySQLite)已經(jīng)被包括在標(biāo)準(zhǔn)庫內(nèi),所以我們可以直接使用。

入門操作

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

>>> import sqlite3
>>> conn= sqlite3.connect('somedatabase.db') # 創(chuàng)建數(shù)據(jù)庫
>>>cu =conn.cursor() #能獲得連接的游標(biāo)
#創(chuàng)建數(shù)據(jù)表
>>>cu.execute("""create table catalog (
 id integer primary key,
 pid integer,
 name varchar(10) UNIQUE
 )""")
#插入兩條數(shù)據(jù)
>>>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')]

連接

為了使用基礎(chǔ)數(shù)據(jù)庫系統(tǒng),首先必須連接到它,這個時(shí)候需要使用具有名稱的connect函數(shù),該函數(shù)有多個參數(shù),而具體用哪個參數(shù)取決于數(shù)據(jù)庫。

connect函數(shù)的常用參數(shù):

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

連接對象方法:

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

rollback 方法可能不可用,因?yàn)椴皇撬械臄?shù)據(jù)庫都支持事務(wù)(事務(wù)是一系列動作)。如果可用,那么就可以“撤銷”所有未提交的事務(wù)。

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

游標(biāo):

cu = conn.cursor()

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

conn.commit()

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

游標(biāo)對象方法:

游標(biāo)對象特性:

cu.fetchone()

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

conn.close()

可以在每次修改數(shù)據(jù)庫后都進(jìn)行提交,而不是僅僅在準(zhǔn)備關(guān)閉才提交,準(zhǔn)備關(guān)閉數(shù)據(jù)時(shí),使用close 方法。

總結(jié)

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

相關(guān)文章

  • pandas使用apply多列生成一列數(shù)據(jù)的實(shí)例

    pandas使用apply多列生成一列數(shù)據(jù)的實(shí)例

    今天小編就為大家分享一篇pandas使用apply多列生成一列數(shù)據(jù)的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • 一起來了解python的基本輸入和輸出

    一起來了解python的基本輸入和輸出

    這篇文章主要為大家詳細(xì)介紹了python的基本輸入和輸出,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • Python批量將Word文檔(.doc)轉(zhuǎn)換為.docx格式的完整實(shí)現(xiàn)步驟

    Python批量將Word文檔(.doc)轉(zhuǎn)換為.docx格式的完整實(shí)現(xiàn)步驟

    這篇文章主要介紹了Python批量將Word文檔(.doc)轉(zhuǎn)換為.docx格式的完整實(shí)現(xiàn)步驟,文中通過代碼介紹的非常詳細(xì),適用于Windows系統(tǒng),解決了手動轉(zhuǎn)換的低效率和出錯率問題,需要的朋友可以參考下
    2024-12-12
  • 詳解Python編程中time模塊的使用

    詳解Python編程中time模塊的使用

    這篇文章主要介紹了詳解Python編程中time模塊的使用,是Python入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-11-11
  • python實(shí)現(xiàn)將兩個文件夾合并至另一個文件夾(制作數(shù)據(jù)集)

    python實(shí)現(xiàn)將兩個文件夾合并至另一個文件夾(制作數(shù)據(jù)集)

    這篇文章主要介紹了python實(shí)現(xiàn)將兩個文件夾合并至另一個文件夾(制作數(shù)據(jù)集),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • pytorch之torch_scatter.scatter_max()用法

    pytorch之torch_scatter.scatter_max()用法

    這篇文章主要介紹了pytorch之torch_scatter.scatter_max()用法,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Python直接賦值與淺拷貝和深拷貝實(shí)例講解使用

    Python直接賦值與淺拷貝和深拷貝實(shí)例講解使用

    淺拷貝,指的是重新分配一塊內(nèi)存,創(chuàng)建一個新的對象,但里面的元素是原對象中各個子對象的引用。深拷貝,是指重新分配一塊內(nèi)存,創(chuàng)建一個新的對象,并且將原對象中的元素,以遞歸的方式,通過創(chuàng)建新的子對象拷貝到新對象中。因此,新對象和原對象沒有任何關(guān)聯(lián)
    2022-11-11
  • Python logging模塊寫入中文出現(xiàn)亂碼

    Python logging模塊寫入中文出現(xiàn)亂碼

    這篇文章主要介紹了Python logging模塊寫入中文出現(xiàn)亂碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • python重復(fù)值處理得方法

    python重復(fù)值處理得方法

    這篇文章主要介紹了python重復(fù)值處理得方法,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-05-05
  • python抓取搜狗微信公眾號文章

    python抓取搜狗微信公眾號文章

    這篇文章主要為大家詳細(xì)介紹了python抓取搜狗微信公眾號文章,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-04-04

最新評論

策勒县| 太谷县| 东乡| 蒙自县| 八宿县| 禹城市| 安康市| 河东区| 肥东县| 裕民县| 兴义市| 精河县| 施秉县| 桐城市| 封丘县| 绍兴县| 乌什县| 农安县| 抚松县| 恩平市| 佛坪县| 英吉沙县| 夹江县| 辽宁省| 廉江市| 苍南县| 凌海市| 翼城县| 乐亭县| 雷波县| 永安市| 和龙市| 保靖县| 北川| 南靖县| 永清县| 枣庄市| 新竹市| 军事| 湘阴县| 贵南县|