成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Python操作Sqlite正確實現方法解析

開發 后端
我們今天將會在這篇文章中分步驟為大家詳細介紹一下有關Python操作Sqlite的相關應用方式,希望大家可以從中獲得一些幫助。

Python編程語言的優點非常多,它的編程特色主要體現在可擴充性方面。那么,在接下來的這篇文章中,我們將會為大家詳細介紹一下有關Python操作Sqlite 的相關應用技巧,希望可以給大家帶來些幫助。#t#

一、安裝

去PySqlite主頁上下載安裝包,有windows的版本,現支持 Python 2.3和2.5版本。

二、創建數據庫/打開數據庫

Python操作Sqlite使用文件作為數據庫,你可以指定數據庫文件的位置。

  1. >>> import sqlite3 >>> cx = sqlite.connect("d:/test.db", 
    encoding='cp936'

使 用sqlite的connect可以創建一個數據庫文件,上面我指明了路徑。當數據庫文件不存在的時候,它會自動創建。如果已經存在這個文件,則打開這個 文件。encoding指明保存數據所使用的編碼,這里cp936是 Python 中自帶的編碼,其實就是GBK編碼。cx為數據庫連接對象。

三、操作數據庫的基本對象

3.1 數據庫連接對象

象前面的cx就是一個數據庫的連接對象,它可以有以下操作:

  1. commit()--事務提交   
  2. rollback()--事務回滾   
  3. close()--關閉一個數據庫連接   
  4. cursor()--創建一個游標  

3.2 游標對象

所有sql語句的執行都要在游標對象下進行。

 

  1. cu = cx.cursor()這樣定義了一個游標。游標對象有以下的操作:   
  2. execute()--執行sql語句   
  3. executemany--執行多條sql語句   
  4. close()--關閉游標   
  5. fetchone()--從結果中取一條記錄   
  6. fetchmany()--從結果中取多條記錄   
  7. fetchall()--從結果中取出多條記錄   
  8. scroll()--游標滾動  

關于對象的方法可以去 Python 主頁上查看DB API的詳細文檔。不過PySqlite?到底支持DB API到什么程序,我就不知道了。我列出的操作都是支持的,不過我不是都使用過。

四、使用舉例

4.1 建庫

前面已經有了,不再重復。(這些例子,如果你有興趣,可以直接在Python的交互環境下試試)

4.2 建表

  1. >>> cu=cx.cursor() >>> cu.execute("""create table catalog 
    ( id integer primary key, pid integer, name varchar(10) UNIQUE )""") 

上面語句創建了一個叫catalog的表,它有一個主鍵id,一個pid,和一個name,name是不可以重復的。

關于Python操作Sqlite支持的數據類型,在它主頁上面的文檔中有描述,可以參考:Version 2 DataTypes?

4.3 insert(插入)

  1. >>> cu.execute("insert into catalog values(0, 0, 'name1')") 
    >>> cu.execute("insert into catalog values(1, 0, 'hello')") >>> cx.commit() 

如果你愿意,你可以一直使用cu游標對象。注意,對數據的修改必須要使用事務語句:commit()或rollback(),且對象是數據庫連接對象,這里為cx。

4.4 select(選擇)

  1. >>> cu.execute("select * from catalog") >>> cu.fetchall() 
    [(0, 0, 'name2'), (1, 0, 'hello')]fetchall()  

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

  1. >>> cu.execute("select * from catalog where id = 1") 
    >>> cu.fetchone() (1, 0, 'hello') 

對數據庫沒有修改的語句,執行后不需要再執行事務語句。

4.5 update(修改)

 

  1. >>> cu.execute("update catalog set name='name2' where id = 0") 
    >>> cx.commit() >>> cu.execute("select * from catalog") 
    >>> cu.fetchone() (0, 0, 'name2')4.6 delete(刪除)   
  2. >>> cu.execute("delete from catalog where id = 1") >>> cx.commit() 
    >>> cu.execute("select * from catalog") >>> cu.fetchall() [(0, 0, 'name2')] 

以上是關于如何使用Python操作Sqlite的簡單示例。

責任編輯:曹凱 來源: 博客園
相關推薦

2010-03-04 11:12:02

Python AOP

2010-02-26 08:59:10

WCF服務宿主程序

2010-01-06 14:22:29

.NET Framew

2010-03-05 16:51:01

Python程序轉為E

2010-02-26 11:22:16

LitwareHR使用

2010-03-04 15:12:33

Python算法

2010-02-25 13:48:23

WCF動態創建代碼

2010-02-25 16:52:12

引用WCF服務

2010-02-25 09:13:34

WCF異步調用

2010-01-22 13:08:50

VB.NET創建數組

2009-12-03 11:11:57

PHP網站優化

2010-02-24 10:07:48

WCF跨越邊界

2009-12-29 18:09:00

Silverlight

2010-02-25 10:10:29

WCF使用Header

2010-01-14 17:52:54

VB.NET顯示系統信

2010-01-26 17:18:13

Android讀寫文件

2010-03-05 10:36:52

Python調用zip

2009-12-04 12:51:27

PHP functio

2009-12-11 17:52:21

PHP獲取博客數據

2010-02-24 13:48:44

MSMQ使用WCF
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久最新| 亚洲国产高清在线观看 | 在线观看av网站永久 | 精品国产精品三级精品av网址 | 国产精品视频一区二区三区四蜜臂 | 精品免费国产一区二区三区四区 | 欧美二区乱c黑人 | 欧美精品久久 | 91精品国产日韩91久久久久久 | www.国产精品 | 黄网免费看 | 成人在线网址 | 亚洲欧美激情网 | 中文字幕电影在线观看 | caoporon| 中文字幕亚洲欧美日韩在线不卡 | 一级免费a| 欧美亚州综合 | caoporn视频| 欧美亚洲视频在线观看 | 欧美日韩中| 国产一区二区三区久久久久久久久 | 精品久久久久久国产 | 午夜噜噜噜 | 久久er精品 | 在线国产一区二区 | 国产第一亚洲 | 久久久一二三区 | 亚洲综合一区二区三区 | 天色综合网| 亚洲一区二区在线免费观看 | 国产精品一区二区久久久久 | 日韩精品一区二区不卡 | 亚洲视频第一页 | 国产精品特级片 | 国产激情片在线观看 | 亚洲精品视频一区二区三区 | 春色av | 人人干免费 | 在线视频一区二区三区 | 日韩精品极品视频在线观看免费 |