Python SQLITE數據庫操作簡便易用
Python編程語言從出現至今已經經過了將近二十年的時間,它依據其強大的功能以及易于操作的方法在開發領域中依據占據著重要的地位。我們今天先來從Python SQLITE數據庫的操作技巧來分析,從而加深對這一語言的認知程度。#t#
Python SQLITE數據庫是一款非常小巧的嵌入式開源數據庫軟件,也就是說沒有獨立的維護進程,所有的維護都來自于程序本身。它使用一個文件存儲整個數據庫,操作十分方便。它的最大優點是使用方便,功能相比于其它大型數據庫來說,確實有些差距。但是性能表現上,SQLITE并不遜色。麻雀雖小,五臟俱全, sqlite 實現了多數 sql-92 的標準,比如說 transaction 、 trigger 和復雜的查詢等。
從Python2.5開始,SQLite3就成了Py的標準模塊了,這也是Python中唯一一個數據庫接口類模塊,這大大方便了我們用Python SQLITE數據庫開發小型數據庫應用系統。
下面讓我們一步步走進Python中的SQLite吧。
一,Python SQLITE數據庫導入模塊:
- import sqlite3
二,創建數據庫/打開數據庫:
- cx = sqlite3.connect("E:/test.db")
其實我們不需要顯式的創建一個sqlite數據庫,在調用connect函數的時候,指定庫名稱,如果指定的數據庫存在就直接打開這個數據庫,如果不存在就新創建一個再打開。這一點應用很好理解。
三,數據庫連接對象:
打開數據庫時返回的對象cx就是一個數據庫連接對象,它可以有以下操作:
- commit()--事務提交
- rollback()--事務回滾
- close()--關閉一個數據庫連接
- cursor()--創建一個游標
四,Python SQLITE數據庫游標的使用:
凡是對數據庫有基本了解的朋友相信對前面三個都不用多說,一看就明白。下面著重闡述五cursor游標的使用。其實,所有sql語句的執行都要在游標對象下進行。
首先,定義一個游標:
- cu = cx.cursor()
這樣定義了一個游標。游標對象有以下的操作:
- execute()--執行sql語句
- executemany--執行多條sql語句
- close()--關閉游標
- fetchone()--從結果中取一條記錄,并將游標指向下一條記錄
- fetchmany()--從結果中取多條記錄
- fetchall()--從結果中取出所有記錄
- scroll()--游標滾動
下面就使用Python SQLITE數據庫中游標對我們上面建立的數據庫作一些操作吧:
1,建表:
- cu.execute("""create table catalog (id integer primary key,
pid integer,name varchar(10) UNIQUE)""")
上面語句創建了一個叫catalog的表,它有一個主鍵id,一個pid,和一個name,name是不可以重復的。
2,插入數據:
- cu.execute("insert into catalog values(0, 0, 'name1')")
- cu.execute("insert into catalog values(1, 0, 'hello')")
簡單的插入兩行數據,不過需要提醒的是,只有提交了之后,才能生效.我們使用數據庫連接對象cx來進行提交commit和回滾rollback操作.
- cx.commit()
3,查詢:
- cu.execute("select * from catalog")
要提取查詢到的數據,使用游標的fetch***函數,如:
- cu.fetchall()
返回結果如下:
- [(0, 0, u'name1'), (1, 0, u'hello')]
如果我們使用cu.fetchone(),則首先返回列表中的第一項,再次使用,則返回第二項,依次下去.
4,修改:
- cu.execute("update catalog set name='name2' where id = 0")
- cx.commit()
注意,修改數據以后提交
5,刪除:
- cu.execute("delete from catalog where id = 1")
- cx.commit()
以上簡單的操作反應的Python SQLITE數據庫操作的基本要點,這里點到為止.然后,SQLite的強大,并不僅限于此,其對SQL高級特性的支持及其小巧靈活的特點,使得SQLite在眾多領域受到開發者的青睞.