关于Python编程语言:http://www.cnblogs.com/renzo/archive/2011/08/08/2131146.html
关于SQLite数据库:http://www.cnblogs.com/renzo/archive/2012/01/07/2315399.html
前言:随着Python在编程语言的市场上占据越来越重要的地位,学习一些Python对数据库的操作也势在必行。开发一些大型数据库应用系统,关系数据库当仁不让(从数据库功能及数据安全角度)。如果是轻量级的应用,嵌入式数据库则会凭借他使用方便、性能优异的特性一展身手。下面详细介绍Python操作SQLite数据库的步骤。
补充一点,从Python2.5开始,SQLite3就成了Python的标准模块了,这也是Python中唯一一个数据库接口类模块。可见SQLite非同小可,不可小觑。
- 导入数据模块:
import sqlite3
- 创建/打开数据库
conn = sqlite3.connect(dbName,encoding="cp936")
conn = sqlite3.connect(':memory:') # 建立内存数据库连接
说明:调用connect函数的时候,指定库名称。如果指定的数据库存在,则打开;否则,重新创建一个再打开。还有,内存数据库会在关闭数据库时销毁。encoding指明保存数据所使用的编码,这里cp936是Python中自带的编码,其实就是GBK编码。
- 创建Cursor对象,用于执行SQL语句
cur = conn.cursor()
说明:所有SQL语句执行,都要在游标对象下进行。
- 执行SQL语句
cur.execute("SQL")
cur.execute("select * from user where name=?", name)
cur.executemany()
- 读取数据的方式
1. 使用cur.fetchone(),如果没有记录返回None
2. 使用cur.fetcallh()取回所有记录
3. 使用cur.fetchmany(size),可用于分页查询
- cursor的其他属性
1. cur.lastrowid: 上一次插入数据表时数据库自动生成的id,适用于auto_increment类型的字段
2. cur.rowcount: 查询结果的总行数
3. cur.description: 描述表结构
- 事务处理
1. conn.commit()
2. conn.rollback()
3. conn.isolation_level = None
说明:这个就是事务隔离级别,默认是需要自己commit才能修改数据库,置为None则自动每次修改都提交。否则为""。
- 关闭数据库
conn.close()
基本用法仅此而已。提醒一下,在操作数据时,别忘了提交事务。
转载于:https://www.cnblogs.com/renzo/archive/2012/01/07/2315452.html