Python操作SQLite数据库教程

  关于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

猜你喜欢

转载自blog.csdn.net/weixin_33725239/article/details/94250187