Python笔记----数据库编程

1.Python数据库API简介
Python 推荐支持 DB API 2.0 数据库模块都应该提供如下3个全局变量:

  1. apilevel:该全局变量显示数据库模块的 API 版本号。
  2. threadsafety:该全局变量指定数据库模块的线程安全等级,该等级值为0~3。3代表该模块完全是线程安全的:1表示该模块具有部分线程安全性,线程可以共享该模块,不能共享连接:0则表示线程完全不能共享该模块。
  3. pararmstyle :该全局变量指定当 SQL 语句需要参数时,可以使用哪种风格的参数。该变量可能返回如下变量值:
    • format:表示在 SQL 语句中使用 Python 标准的格式化字符串代表参数。例如 ,在程序需要参数的地方使用 %s ,接下来程序即可为这些参数指定参数值。
    • pyformat:表示在 SQL 语句中使用扩展的格式代码代表参数。比如使用%(name),即可使用包含 key为name的字典为该参数指定参数值。
    • qmark:表示在SQL 语句中使用问号(?)代表参数。SQL 语句中有几个参数,全部用问号代替。
    • numeric:表示在 SQL 语句中使用数字占位符(:N)代表参数。例如:1代表一个参数,:2也表示一个参数,这些数字相当于参数名,因此它们不一定需要连续。
    • named:表示在 SQL 语句中使用命名占位符(:name)代表参数。例如 :name代表一参数,:age 也代表一个参数。

2.数据库API的核心类
connect()函数,该函数用于连接数据库,并返回数据库连接对象。数据库连接对象通常会具有如下方法和属性:
cursor(factory=Cursor):打开游标
commit():提交事务
rollback():回滚事务
close():关闭数据库连接
isolation_level : 返回或设置数据库连接中事务的隔离级别
in_transaction :判断当前是否处于事务中

​ 游标对象是Python DB API 的核心对象,该对象主要用于执行各种 SQL语句,包括 DDL DML select查询语句等。 使用游标执行不同的 SQL 语句返回不同的数据。

​ 游标对象通常会具有如下方法和属性:

  • execute(sql[, parameters ]): 执行 SQL 语句。parameters 参数用于为 SQL 语句中的参数指定值。
  • executemany(sql, seq_of_parameters):重复执行 SQL 语句。可以通过 seq_of_parameters序列为 SQL 句中的参数指定值,该序列有多少个元素,SQL语句就被执行多少次。
  • executescript(sql_script):这不是 DB API 2.0 标准方法,该方法可以直接执行包含多条 SQL语句的 SQL 脚本。
  • fetchone (): 获取查询结果集的下一行。如果没有下一行,则返回 None。
  • fetchmany( size=cursor .ainys ze):返回查询结果集的下一行组成的列表 如果没有更多的数据行,则返回空列表。
  • fetchall (): 返回查询结果集的全部行组成的列表。
  • close(): 关闭游标。
  • rowcount:该只读属性返回受 SQL 语句影响的行数.对于 executemany() 方法,该方法所修改的记录条数也可通过该属性获取。
  • lastrow :该只读属性可获取最后修改行的 rowid。
  • arraysize :用于设置或获取 fetchmany()默认获取的记录条数,该属性默认1,有些数据库模块没有该属性。
  • description:该只读属性可获取最后一次查询返回的所有列的信息。
  • connection:该只读属性返回创建游标的数据库连接对象,有些数据库模块没有该属性。

​ Python DB API 2.0 由一个connect()函数开始, 共涉及数据库连接和游标两个核心API 。它们的分工如下:

  • 数据库连接:用于获取游标、控制事务。
  • 游标:执行各种 SQL 语句。

3.操作数据库的基本流程
Python笔记----数据库编程