python数据库适配器(一)

  

 python数据库适配器(一)

如上图是应用程序与关系型数据库的多层通信,第一个框一般是C/c++程序,后两个框是python程序。在python应用中,都是使用数据库适配器去访问数据库的,不同数据库有不同的适配器,但是都有一套标准,具体属性如下:


<强>

& lt; apilevel>

该字符串(注意,不是浮点型)指明了模块需要兼容的DB-API 最高版本,比如,1.0,2.0,等。该属性的默认值是1.0。


& lt; threadsafety>

这是一个整型值,可选值如下。   ?,0:不支持线程安全。线程间不能共享模块。   ?,1:最小化线程安全支持:线程间可以共享模块,但是不能共享连接。   ?,2:适度的线程安全支持:线程间可以共享模块和连接,但是不能共享游标。   ?,3:完整的线程安全支持:线程间可以共享模块,连接和游标。


& lt; paramstyle参数风格在

参数风格,,,,,描,述,,,,,,,,,,,,,,,,,,,,,,,,,,,,,示例   numeric ,,,,数值位置风格,,,,,,,,,,,,,,,,,,,,WHERE  name=: 1   named ,,,,,,命名风格,,,,,,,,,,,,,,,,,,,,,,,,WHERE  name=:名字   pyformat ,,, Python 字典printf()格式转换,,,,,WHERE  name=%(名字)   qmark ,,,,,,问号风格,,,,,,,,,,,,,,,,,,,,,,,,WHERE  name=?   format ,,,,, ANSIC 的printf()格式转换WHERE ,, name=% s


& lt;连接()函数属性在

参,数,,,,,,,,,,,,,描述   user ,,,,,,,,,,,用户名   password ,,,,,,,密码   host ,,,,,,,,,,,主机名   数据库/db ,,,,数据库名   dsn ,,,,,,,,,,,,数据源名   MySQLdb适配器不支持dsn, connect()函数调用参数的方法如:MySQLdb.connect(主机=& # 39;172.16.1.238& # 39;,db=& # 39;学校# 39;,用户=& # 39;根# 39;,密码=& # 39;* * * * * * & # 39;)


& lt;异常在

异,常,,,,,,,,,,,,,,,,,,,描述   Warning ,,,,,,,,,,,,,,,,警告异常基类   Error ,,,,,,,,,,,,,,,,,,错误异常基类   ,,,InterfaceError ,,,,,,,,,数据库接口(非数据库)错误   ,,,DatabaseError ,,,,,,,,,,数据库错误   ,,,DataError ,,,,,,,,,,,,,,处理数据时出现问题   ,,,OperationlError ,,,,,,,,数据库操作执行期间出现错误   ,,,IntegrityError ,,,,,,,,,数据库关系完整性错误   ,,,InternalError ,,,,,,,,,,数据库内部错误   ,,,ProgrammingError  SQL ,,,命令执行失败   ,,,NotSupportedError ,,,,,,出现不支持的操作


,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

使用MySQLdb模块操作mysql数据库的一个简单例子:

# - *安康;编码:utf-8  - * -   #身份验证:FJC   import  MySQLdb   得到_mysql_exceptions  import  *   #连接数据库,返回MySQLdb.connections.Connection对象   时间=my_conn  MySQLdb.connect(主机=& # 39;172.16.1.238& # 39;,db=& # 39;学校# 39;,用户=& # 39;根# 39;,密码=& # 39;123456 & # 39;)   #获取游标,返回MySQLdb.cursors.Cursor对象   时间=my_cur  my_conn.cursor ()   试一试:   ,,,#执行数据库原生语句   ,,,my_exec =, my_cur.execute (& # 39; select  *,得到school.boys; & # 39;)   ,,,#返回查询结果的前两行   ,,,print (my_cur.fetchmany (2))   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

python数据库适配器(一)