Python內置了SQLite3,在Python中使用SQLite,不需要安裝任何東西,便直接使用,以SQLite3爲例。
1. 基本的數據操作:
# encoding: utf-8
import sqlite3
# 連接到SQLite數據庫,如果db_dream.sqlite不存在就會被創建
conn = sqlite3.connect('db_dream.sqlite')
# 獲取遊標的連接
curs = conn.cursor()
# 創建表
curs.execute('''
CREATE TABLE tbl_book(
book_id INTEGER PRIMARY KEY,
title TEXT,
author TEXT,
publisher TEXT
)
''')
sqlInsert = '''
INSERT INTO tbl_book(book_id, title, author, publisher)
VALUES (?, ?, ?, ?)
'''
# 插入數據,可使用參數
curs.execute(sqlInsert, [10001, u'嫌疑人X的獻身', u'東野圭吾', u'南海出版公司'])
curs.execute(sqlInsert, [10002, u'白夜行', u'東野圭吾', u'南海出版公司'])
curs.execute(sqlInsert, [10003, u'看見', u'柴靜', u'廣西師範大學出版社'])
# 關閉遊標
curs.close()
# 提交事務
conn.commit()
# 關閉數據庫連接
conn.close()
2. 數據查詢:
# encoding: utf-8
import sqlite3
# 打印list
def printList(l):
for item in l:
print item,
print
# 連接到SQLite數據庫,如果db_dream.sqlite不存在就會被創建
conn = sqlite3.connect('db_dream.sqlite')
# 獲取遊標的連接
curs = conn.cursor()
# 執行查詢
query = 'select * from tbl_book where author = ?'
curs.execute(query, [u'東野圭吾'])
# 獲取查詢的結果集
rs = curs.fetchall()
for book in rs:
printList(book)
# 關閉遊標
curs.close()
# 關閉數據庫連接
conn.close()