暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

华为GaussDB T Python接口参考

墨天轮 2019-10-12
2267

Python接口参考

全局变量

表1 全局参数表

参数名

参数说明

使用方法

apilevel

DBAPI级别,当前为2.0

pyzenith.apilevel

threadsafety

接口的线程安全级别,当前为2

pyzenith.threadsafety

paramstyle

参数格式类型,当前为pyformat

pyzenith.paramstyle

Connect方法

表2 Connect参数表

参数名称

参数说明

使用方法

host

string型变量,指定数据库服务端所在IP地址。

按照args或kwargs形式使用此变量。

user

string型变量,指定连接数据库的用户名。

passwd

string型变量,指定登录数据库用户的密码。

port

string型变量,指定数据库服务端侦听端口。

ssl_ca

string型变量,SSL的ca文件,如果服务端要求使用ssl连接则需要设置该参数。

ssl_cert

string型变量,SSL的client-cert文件,如果服务端要求使用ssl连接则需要设置该参数。

ssl_key

string型变量,SSL的client-key文件,如果服务端要求使用ssl连接则需要设置该参数。

ssl_crl

string型变量,SSL的crl文件,如果没有可以为空

ssl_keypwd

string型变量,生成SSL时的密码,如果没有设置可以为空

ssl_mode

string型变量,有4中模式:

D (禁用SSL连接)

P (优先使用SSL连接,如果服务端不支持SSL也可连接成功,默认值)

R (必须使用SSL连接,如果服务端不支持SSL,会导致连接建立失败)

V (校验服务端证书信息)

logintimeout

int型变量,设置连接超时时间,单位为秒,不设置是为系统默认值10s

-

sockettimeout

int型变量,设置socket超时时间,单位为秒,不设置是为系统默认值600s

-

Connection类

表3 Conncetion类方法说明

方法名称

方法说明

使用案例

是否线程安全

__init__(self, *args, **kwargs)

Connection类初始化时调用的方法,发起与数据库的连接。

-

autocommit(self, isautocommit)

设置事务是否自动提交。Isautocommit为bool类型

conn.autocommit(True)

cursor(self)

返回Cursor类对象。

cursor = conn.cursor()

commit(self)

提交事务,当事务设置为手动提交时可调用。

conn.commit()

rollback(self)

回滚事务。

conn.rollback()

close(self)

关闭数据库连接。

conn.close()

Cursor类

表4 Cursor类属性说明

属性名称

属性说明

使用案例

是否线程安全

description

获取查询语句的列描述。

cursor.description

rowcount

获取操作产生的行数(dml影响的行数,select语句返回值为0)。

cursor.rowcount

lastrowid

返回当前会话最后一次INSERT语句AUTO_INCREMENT列自动生成的值。

cursor.lastrowid

表5 Cursor类方法说明

方法名称

方法说明

使用案例

是否线程安全

close(self)

关闭cursor对象。

cursor.close()

execute(self, sql[,parameters])

  • 执行SQL语句,sql参数为sql语句字符串。
  • parameters可选,有parameters时,功能和executemany一样(目前绑定参数不支持select)。

cursor.execute(“select * from table”)

cursor.execute("insert into tb_1 values (:1)",[('1',),])

executemany(self,sql,parameters)

  • 执行批量绑定的SQL语句(目前不支持select)。
  • 参数必须是tuple组成的list,tuple必须是字符串。
  • 绑定最大列为512,最大行数1024。

cursor.executemany("insert into tb_1 values (:1)",[('1',),])

fetchall(self)

获取结果集中的所有元组。

cursor.fetchall()

fetchone(self)

获取结果集中的下一个元组。

cursor.fetchone()

fetchmany(size)

获取结果集中接下来的size个元组。

cursor.fetchmany()

execute_ex(self,sql[,parameters])

  • 执行SQL语句,sql参数为sql语句字符串。
  • parameters可选,有parameters时,功能和executemany_ex相同(目前绑定参数不支持select)。

cursor.execute_ex(“select * from table”)

cursor.execute_ex("insert into tb_1 values (:1)",[('1',),])

executemany_ex(self,sql,parameters)

  • 执行批量绑定的SQL语句(目前不支持select)。
  • 参数必须是tuple组成的list,tuple可以为字符串或者python数据类型。
  • 绑定最大列为512,最大行数1024。

cursor.executemany_ex("insert into tb_1 values (:1)",[('1',),])

fetchall_ex(self)

获取结果集中的所有元组,时间,数值和布尔类型的返回类型为python数据类型,其他类型返回字符串数据类型。

cursor.fetchall_ex()

fetchone_ex(self)

获取结果集中的下一个元组,时间,数值和布尔类型的返回类型为python数据类型,其他类型返回字符串数据类型。

cursor.fetchone_ex()

fetchmany_ex(size)

获取结果集中接下来的size个元组,时间,数值和布尔类型的返回类型为python数据类型,其他类型返回字符串数据类型。

cursor.fetchmany_ex()

时间对象

表6 时间方法

方法名

方法说明

使用案例

是否线程安全

Date(year,month,day)

构造包含日期的对象

pyzenith.Date(2018,2,29)

Time(hour,minute,second)

构造包含时间的对象

pyzenith.Time(-1, 0, 0)

Timestamp(year,month,day,hour,minute,second,usec)

构造包含时间戳的对象

pyzenith.Timestamp(2018,1,1,1,1,1,12342)

DateFromTicks(ticks)

构造给定ticks值的日期值

pyzenith.DateFromTicks(1234567890)

TimeFromTicks(ticks)

构造给定ticks值的时间值

pyzenith.TimeFromTicks(1234567890)

TimestampFromTicks(ticks)

构造给定ticks值的时间戳值

pyzenith.TimestampFromTicks(1234567890)

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论