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

python使用sqlite3時(shí)游標(biāo)使用方法

 更新時(shí)間:2018年03月13日 14:46:14   作者:MTbaby  
這篇文章主要為大家詳細(xì)介紹了python使用sqlite3時(shí)游標(biāo)的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

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

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

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

SQLite 和PySQLite

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

而pysqlite 則是一個(gè)sqlite 為 Python 提供的 api 接口,它讓一切對(duì)于 sqlite 的操作都變得異常簡(jiǎn)單

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

入門操作

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

>>> import sqlite3
>>> conn= sqlite3.connect('somedatabase.db') # 創(chuàng)建數(shù)據(jù)庫(kù)
>>>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ù)庫(kù)系統(tǒng),首先必須連接到它,這個(gè)時(shí)候需要使用具有名稱的connect函數(shù),該函數(shù)有多個(gè)參數(shù),而具體用哪個(gè)參數(shù)取決于數(shù)據(jù)庫(kù)。

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

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

連接對(duì)象方法:

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

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

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

游標(biāo):

cu = conn.cursor()

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

conn.commit()

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

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

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

cu.fetchone()

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

conn.close()

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python argparse命令參數(shù)與config配置參數(shù)示例深入詳解

    Python argparse命令參數(shù)與config配置參數(shù)示例深入詳解

    這篇文章主要介紹了Python argparse命令參數(shù)與config配置參數(shù),argparse是Python內(nèi)置的一個(gè)用于命令項(xiàng)選項(xiàng)與參數(shù)解析的模塊,通過在程序中定義好我們需要的參數(shù),然后在程序啟動(dòng)命令行傳遞我們想要改變的參數(shù)
    2023-03-03
  • Python+drawpad實(shí)現(xiàn)CPU監(jiān)控小程序

    Python+drawpad實(shí)現(xiàn)CPU監(jiān)控小程序

    這篇文章主要為大家詳細(xì)介紹了如何利用Python+drawpad實(shí)現(xiàn)一個(gè)簡(jiǎn)單的CPU監(jiān)控小程序,文中示例代碼講解詳細(xì),感興趣的小伙伴可以嘗試一下
    2022-08-08
  • python教程對(duì)函數(shù)中的參數(shù)進(jìn)行排序

    python教程對(duì)函數(shù)中的參數(shù)進(jìn)行排序

    這篇文章主要介紹了python教程對(duì)函數(shù)中的參數(shù)進(jìn)行排序的方法講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2021-09-09
  • python實(shí)現(xiàn)的分析并統(tǒng)計(jì)nginx日志數(shù)據(jù)功能示例

    python實(shí)現(xiàn)的分析并統(tǒng)計(jì)nginx日志數(shù)據(jù)功能示例

    這篇文章主要介紹了python實(shí)現(xiàn)的分析并統(tǒng)計(jì)nginx日志數(shù)據(jù)功能,結(jié)合實(shí)例形式分析了Python針對(duì)nginx日志ip、訪問url、狀態(tài)等數(shù)據(jù)的相關(guān)讀取、解析操作技巧,需要的朋友可以參考下
    2019-12-12
  • OpenCV圖像處理之七種常用圖像幾何變換

    OpenCV圖像處理之七種常用圖像幾何變換

    這篇文章主要介紹了OpenCV圖像處理中常用的幾個(gè)圖像幾何變換:裁剪、放大、縮小、平移、錯(cuò)切、鏡像、旋轉(zhuǎn)、透視等。文中示例代碼非常詳細(xì),需要的朋友可以參考一下
    2021-12-12
  • Python的numpy庫(kù)中將矩陣轉(zhuǎn)換為列表等函數(shù)的方法

    Python的numpy庫(kù)中將矩陣轉(zhuǎn)換為列表等函數(shù)的方法

    下面小編就為大家分享一篇Python的numpy庫(kù)中將矩陣轉(zhuǎn)換為列表等函數(shù)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2018-04-04
  • Python中應(yīng)用Winsorize縮尾處理的操作經(jīng)驗(yàn)

    Python中應(yīng)用Winsorize縮尾處理的操作經(jīng)驗(yàn)

    縮尾處理相當(dāng)于對(duì)數(shù)據(jù)進(jìn)行掐頭(尾)去尾,然后再按照一定的方法填補(bǔ)被掐掉的數(shù)據(jù),下面這篇文章主要給給大家介紹了關(guān)于Python中應(yīng)用Winsorize縮尾處理的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • Python?中strip()函數(shù)詳細(xì)說(shuō)明及使用方法

    Python?中strip()函數(shù)詳細(xì)說(shuō)明及使用方法

    strip()函數(shù)是Python字符串方法之一,用于處理字符串的前導(dǎo)和尾隨空白字符,它返回一個(gè)新字符串,該字符串是原始字符串去除前導(dǎo)和尾隨空格(包括空格、制表符、換行符等)后的結(jié)果,這篇文章主要介紹了Python?中strip()函數(shù)詳細(xì)說(shuō)明及使用方法,需要的朋友可以參考下
    2024-02-02
  • Python的進(jìn)制轉(zhuǎn)換和ASCLL轉(zhuǎn)換你了解嗎

    Python的進(jìn)制轉(zhuǎn)換和ASCLL轉(zhuǎn)換你了解嗎

    這篇文章主要為大家詳細(xì)介紹了Python的進(jìn)制轉(zhuǎn)換和ASCLL轉(zhuǎn)換,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-02-02
  • python實(shí)現(xiàn)復(fù)制大量文件功能

    python實(shí)現(xiàn)復(fù)制大量文件功能

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)復(fù)制大量文件功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08

最新評(píng)論

东阿县| 南涧| 江阴市| 通化县| 开阳县| 阳朔县| 肥东县| 台安县| 汉阴县| 基隆市| 思茅市| 江阴市| 博兴县| 山东省| 曲阜市| 临潭县| 康平县| 平陆县| 巫溪县| 拉孜县| 台中市| 贡觉县| 黑河市| 山东省| 松阳县| 手游| 建昌县| 嫩江县| 鄂尔多斯市| 吴川市| 道真| 巴彦淖尔市| 郑州市| 丰县| 西昌市| 浮梁县| 苏尼特右旗| 温宿县| 定结县| 古浪县| 乐安县|