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