SQLite是一個輕量級的數(shù)據(jù)庫,它的速度快且不需要獨立服務器,直接操作本地的文件。自python2.5開始引入python作為sqlite3模塊,這是python首次將數(shù)據(jù)庫適配器納入到標準庫中。下面將簡單介紹python數(shù)據(jù)庫中sqlite3模塊的使用。
1. 連接數(shù)據(jù)庫
>>>import sqlite3
>>>conn = sqlite3.connect('mydatabase.db')?
#如果mydatabase數(shù)據(jù)庫存在,那么連接該數(shù)據(jù)庫;如果不存在則創(chuàng)建數(shù)據(jù)庫mydatabase.db
2. 在數(shù)據(jù)庫中創(chuàng)建一個表
>>>cur = conn.cursor()?
>>>cur.execute('CREATE TABLE mytable(username VARCHAR(8), userid INTEGER)')
#conn.cursor()語句用來獲得連接的游標,可用來進行SQL查詢
3. 在表中添加數(shù)據(jù)
>>>cur.execute('INSERT INTO mytable VALUES("alex", 520)')
>>>cur.execute('INSERT INTO mytable VALUES("darren", 250 )')
>>>cur.close()
>>>conn.commit()
>>>conn.close()
#對數(shù)據(jù)庫作出更改之后,退出之前確保已經(jīng)進行了提交,這樣才能將修改真正地保存到文件中
4. 獲取表中的數(shù)據(jù)
>>>conn = sqlite3.connect('mydatabase.db')
>>>cur = conn.cursor()
>>>cur.execute('SELECT * FROM mytable')
>>>for item in cur.fetchall():
......? ? print item
......
(u'alex', 520)
(u'darren', 250)
5. 更新表中的數(shù)據(jù)
>>>conn = sqlite3.connect('mydatabase.db')
>>>cur = conn.cursor()
>>>cur.execute('UPDATE mytable set useid = 250250 where username = "darren"')
>>>cur.close()
>>>conn.commit()
>>>conn.close()
#(u'alex', 520)
#(u'darren', 250250)
#每次修改數(shù)據(jù)后都應該養(yǎng)成提交的好習慣
6. 刪除表中的數(shù)據(jù)
>>>conn = sqlite3.connect('mydatabase.db')
>>>cur = conn.cursor()
>>>cur.execute('DELETE FROM mytable where username = "darren"')
>>>conn.commit()
>>>cur.execute('SELECT * FROM mytable')
>>> for item in cur.fetchall():
. . .? ? ? print item
. . .
(u'alex', 520)
日子還要照舊,自斟自酌自消自受!