Python(2.7.x)數據庫應用的簡單示例

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()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章