成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

python怎么使用sqlite3時游標(biāo)-創(chuàng)新互聯(lián)

小編給大家分享一下python怎么使用sqlite3時游標(biāo),相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

我們提供的服務(wù)有:成都網(wǎng)站設(shè)計、成都做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、大慶ssl等。為超過千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的大慶網(wǎng)站制作公司

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

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

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

SQLite 和PySQLite

sqlite是非常著名的開源嵌入式數(shù)據(jù)庫軟件,它可以嵌入到其他程序中使用,并且提供SQL接口用來查詢,非常方便。它的官方站點為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),首先必須連接到它,這個時候需要使用具有名稱的connect函數(shù),該函數(shù)有多個參數(shù),而具體用哪個參數(shù)取決于數(shù)據(jù)庫。

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

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

連接對象方法:

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

rollback 方法可能不可用,因為不是所有的數(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()會返回為空。這一點在測試時需要注意。

conn.close()

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

以上是“python怎么使用sqlite3時游標(biāo)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)站題目:python怎么使用sqlite3時游標(biāo)-創(chuàng)新互聯(lián)
分享鏈接:http://jinyejixie.com/article22/diecjc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗、云服務(wù)器、標(biāo)簽優(yōu)化、網(wǎng)站建設(shè)、網(wǎng)站改版、App設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名
教育| 海城市| 兴义市| 怀集县| 荔波县| 隆德县| 乌拉特后旗| 洮南市| 镇原县| 宁化县| 章丘市| 来宾市| 廉江市| 龙口市| 辛集市| 正宁县| 湖州市| 牡丹江市| 桐城市| 滦平县| 玛多县| 景泰县| 汾阳市| 武胜县| 泗洪县| 高州市| 旅游| 永新县| 册亨县| 宜君县| 大洼县| 五河县| 阳信县| 宁陕县| 海伦市| 辽源市| 阳原县| 莎车县| 兴仁县| 龙里县| 九江市|