python连接数据库 函数属性&对象方法

connect()函数属性

1
2
3
4
5
6
user                     用户名
password               密码
host                     主机名
database               数据库名  MySQLdb数据库使用的是db
dsn                      数据源名
connect()函数通过 Connection 对象访问数据库。兼容模块必须实现 connect()函数,该函数创建并返回一个 Connection 对象。

应用与数据库之间进行通信需要建立数据库连接。它是最基本的机制,只有通过数据库连接才能把命令传递到服务器,并得到返回的结果。当一个连接(或一个连接池)建立后,可以创建一个游标,向数据库发送请求,然后从数据库中接收回应。

 

Connection 对象方法
Connection 对象不需要包含任何数据属性

1
2
3
4
5
close()                                关闭数据库连接
commit()                                提交当前事务
rollback()                              取消当前事务
cursor()                                使用该连接创建(并返回)一个游标或类游标的对象
errorhandler(cxn,cur,errcls,errval)          作为给定连接的游标的处理程序                               

 

当使用 close()时,这个连接将不能再使用,否则会进入到异常处理中。

如果数据库不支持事务处理,或启用了自动提交功能,commit()方法都将无法使用。如果你愿意,可以实现单独的方法用来启动或关闭自动提交功能。

处理的数据库而言,只需要在方法中实现“pass”即可。

和 commit()相似,rollback()方法也只有在支持事务处理的数据库中才有用。发生异常之后,rollback()会将数据库的状态恢复到事务处理开始时。

如果 RDBMS 不支持游标,那么 cursor()仍然会返回一个尽可能模仿真实游标的对象。这是最基本的要求。每个适配器开发者都可以为他的接口或数据库专门添加特殊属性。

当你完成数据库连接并关闭游标时,需要对所有操作执行 commit(),并对你的连接执行close()。

 

Cursor 对象

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
arraysize                          使用fetchmany方法时,一次取出的结果行数,默认为 1
connection                         创建此游标的链接(可选)
description                        返回游标活动状态( 7 选项元组):(name,type_code,display_size,internal_size,precision,scale,null_ok)
lastrowid                          上次修改的行 ID (可选:如果不支持行 ID ,则返回 None
rowcount                           上次execute * ()方法处理或影响的行数
callproc(func[,args])              调用储存过程
close()                              关闭游标
execute(op[,args])                执行数据库查询或命令
executemany(op,args)             类似execute()和 map ()的结合,为给定的所有参数准备执行的数据库查询或命令
fetchone()                           获取查询结果的下一行
fetchmany([size = cursor.arraysize])      获取查询结果的下面size行
fetchall()                            获取查询结果的所有(剩余)行
__iter__()                           为游标创建迭代器对象(可选,参考 next ())
messages                            游标执行后从数据库中获取的消息列表(元组结合,可选)
next ()                                被迭代器用于获取查询结果的下一行(可选,类似fetchone(),参考__iter__())
nextset()                             移动到下一个结果集合(如果支持)
rownumber                            当前结果集中游标的索引(以行为单位,从 0 开始,可选)
setinputsizes(sizes)               设置允许的最大输入大小(必须有,但是实现是可选的)
setoutputsize(size[,col])         设置大列获取的最大缓冲区大小(必须有,但是实现是可选的)

当建立连接后,就可以和数据库进行通信了。游标可以让用户提交数据库命令,并获得查询的结果行。

当游标创建好后,就可以执行查询或命令(或多个查询和命令),并从结果集中取回一行或多行结果。

游标对象最重要的属性是 execute*()和 fetch*()方法,所有针对数据库的服务请求都是通过它们执行的。arraysize 数据属性在为 fetchmany()设置默认大小时非常有用。当然,在不需要时关闭游标是个好主意,而如果你的数据库支持存储过程,可能会用到callproc()。

 

类对象和构造函数

1
2
3
4
5
6
7
8
9
10
11
12
Date (yr, mo, dy)                  日期值对象
Time (hr,  min , sec)                  时间值对象
Timestamp (yr, mo, dy, hr,  min , sec)         时间戳值对象
DateFromTicks (ticks)                日期对象,给出从新纪元时间( 1970  年  1  月  1  日  00 : 00 : 00  UTC)以来的秒数
TimeFromTicks (ticks)                时间对象,给出从新纪元时间( 1970  年  1  月  1  日  00 : 00 : 00  UTC)以来的秒数
TimestampFromTicks (ticks)             时间戳对象,给出从新纪元时间( 1970  年  1  月  1  日  00 : 00 : 00  UTC)以来的秒数
Binary (string)                   对应二进制(长)字符串对象
STRING                       表示基于字符串列的对象,比如 VARCHAR
BINARY                        表示(长)二进制列的对象,比如 RAW、BLOB
NUMBER                       表示数值列的对象
DATETIME                      表示日期 / 时间列的对象
ROWID                       表示“行  ID ”列的对象

猜你喜欢

转载自blog.csdn.net/register_2/article/details/79989600