亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python進階學習筆記(三)

系統 1954 0

python進階學習筆記(三)

2013-05-26 01:47 ?蟲師 閱讀( ... ) 評論( ... ) 編輯 收藏

?

? 本節通過SQLite了解數據庫操作

-------------------------

?

數據庫支持

?

?

?

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

?

SQLite? PySQLite

?

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

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

?

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

?

?

?

入門操作

?

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

                >>> 
                
                  import
                
                
                   sqlite3

                
                >>> conn = sqlite3.connect(
                
                  '
                
                
                  somedatabase.db
                
                
                  '
                
                ) 
                
                  #
                
                
                   創建數據庫
                
                
>>>cu = conn.cursor()   
                
                  #
                
                
                  能獲得連接的游標
                
                
                  #
                
                
                  創建數據表
                
                
>>> 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 函數的常用參數:

python進階學習筆記(三)_第1張圖片

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

連接對象方法:

python進階學習筆記(三)_第2張圖片

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

?

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

?

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

?

?

游標:

cu?=?conn.cursor()

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

?

?conn.commit() ??

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

?

?

游標對象方法:

python進階學習筆記(三)_第3張圖片

游標對象特性:

python進階學習筆記(三)_第4張圖片

?

cu.fetchone()

?

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

?

conn.close()

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

?

?

---------------

參考:

pysqlite? 簡明教程 http://blog.donews.com/limodou/archive/2004/07/05/37895.aspx

?

SQLite 轉碼問題: http://blog.sina.com.cn/s/blog_68013e850100w66d.html ?

?


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲成人一区 | 亚洲网站在线看 | 国产综合久久久久 | 在线免费观看国产精品 | 欧美日韩一二三区免费视频观看 | 99热久久这里只精品国产ww | 九九视频免费在线观看 | 国产精品美女在线 | 亚洲高清一区二区三区久久 | 青青青手机视频 | 欧美性狂猛bbbbxxxx | 精品国产一二三区 | 国产成人一区二区三区高清 | 手机在线看片国产日韩生活片 | 青春草国产成人精品久久 | 亚洲欧美一区二区三区在线播放 | 夜夜爱夜夜操 | 国产福利视频 | 免费一极毛片 | 老湿机午夜影院 | 五月婷婷开心综合 | 免费一极毛片 | 色综合久久中文色婷婷 | 老子影院午夜伦手机不卡无 | 久久久久久全国免费观看 | 大胆国模一区二区三区伊人 | 四虎影片国产精品8848 | 伊人网站在线 | 久九精品 | 国产美女在线免费观看 | 最新国产精品精品视频 | 欧洲毛片真人 | 久久一级视频 | 日韩 视频在线播放 | 99精品热 | 国产精品所毛片视频 | 国产资源站 | 91久久精品国产免费一区 | 色噜噜狠狠一区二区三区 | 精品久久洲久久久久护士免费 | 黄色午夜影院 |