sqlite介紹
SQLite,是一款輕型的資料庫,是遵守ACID的關係型資料庫管理系統,它的設計目標是嵌入式的,而且目前已經在很多嵌入式產品中使用了它,它佔用資源非常的低,在嵌入式裝置中,可能只需要幾百K的記憶體就夠了。
它能夠支援Windows/Linux/Unix等等主流的作業系統,同時能夠跟很多程式語言相結合,比如 Tcl、C#、PHP、Java等,還有ODBC介面。
比起Mysql、PostgreSQL這兩款開源的世界著名資料庫管理系統來講,它的處理速度比他們都快。
SQLite第一個Alpha版本誕生於2000年5月。 至今已經有14個年頭,SQLite也迎來了一個版本 SQLite 3已經發布。
不像常見的客戶-伺服器範例,SQLite引擎不是個程式與之通訊的獨立進程,而是串連到程式中成為它的一個主要部分。所以主要的通訊協定是在程式設計語言內的直接API調用。
這在消耗總量、延遲時間和整體簡單性上有積極的作用。
整個資料庫(定義、表、索引和資料本身)都在宿主主機上儲存在一個單一的檔案中。它的簡單的設計是通過在開始一個事務的時候鎖定整個資料檔案而完成的。
提示
1、從www.sqlite.org下載一個sqlite,它是一個嵌入式資料庫,沒有伺服器的概念,windows版的就是一個exe,自己把它放到一個合適的目錄裡,然後把這個目錄加入系統的path變數.
建立資料庫:
XP版本:sqlite3.exe test.db
Linux版本:./sqlite3.bin test.db
2、然後去找個pysqlite,這是python訪問sqlite的介面,地址在這裡 : http://initd.org/tracker/pysqlite
目前針對不同的python版本,pysqlite有兩個版本:2.3和2.4,請根據自己的python版本選用.
3、然後就可以開啟自己喜歡的編輯器,寫一段測試代碼了.
4、中文處理要注意的是sqlite預設以utf-8編碼儲存.
5、另外要注意sqlite僅支援檔案鎖,換句話說,它對並發的處理並不好,不推薦在網路環境使用,適合單機環境;
用Python操作sqlite資料庫
import pysqlite2.dbapi2 as sqlite
def runTest():
cx = sqlite.connect(test.db)
cu = cx.cursor()
#create
cu.execute(create table catalog(
id integer primary key,
pid integer,
name varchar(10) unique
))
#insert
cu.execute(insert into catalog values(0,0,"www.ttlsa.com"))
cu.execute(insert into catalog values(1,0,"hello"))
cx.commit()
#select
cu.execute(select * from catalog)
print 1:,
print cu.rowcount
rs = cu.fetchmany(1)
print 2:,
print rs
rs = cu.fetchall()
print 3:,
print rs
#delete
cu.execute(delete from catalog where id = 1 )
cx.commit()
cu.execute(select * from catalog)
rs = cu.fetchall()
print 4:,
print rs
#select count
cu.execute("select count(*) from catalog")
rs = cu.fetchone()
print 5:,
print rs
cu.execute("select * from catalog")
cu.execute(drop table catalog)
if __name__ == __main__:
runTest()