开放接口说明RxDatabase接口


类 RxDatabase 用于操作Database Host上的数据库,主要为保存抓取的数据到预先定义的表中

函数定义:

def insert(sql, params)

根据插入sql和params插入一条记录, 返回值为插入的记录的自增列主键值,如果表的主键不是自增列则返回-1。

调用例:


sql = "INSERT INTO test (company_name, company_address) VALUES (%s, %s)"

params = ("瑞雪科技", "黄浦路100号")

database.insert(sql , params )

def batch_insert(sql, params)

根据插入sql和params插入多条记录到数据库中。 参数值params为list,返回值为插入记录数。

调用例:


sql = "INSERT INTO test (company_name, company_address) VALUES (%s, %s)"

params = [("瑞雪科技1", "黄浦路100号10"), ("瑞雪科技2", "黄浦路100号11"), ("瑞雪科技3", "黄浦路100号12")]

rows = database.batchInsert(sql, params)

def delete(sql, params)

根据sql和params从数据库中删除记录,返回删除行数

调用例:


sql = "delete from test where id in (%s, %s)"

params = (19720, 19721)

rows = database.delete(sql , params )

def update(sql, params)

根据sql和params更新数据库中的记录, 返回值为更新行数。

调用例:


sql = "UPDATE test SET company_name = %s, company_address = %s where id = %s"

params = ("瑞雪科技201712040399_123", "黄浦路100号68_123", 19720)

rows = database.update(sql, params)

def batch_update(sql, params)

根据更新sql和params更新多条记录到数据库中,参数值params为list,返回值为更新总件数。

调用例:


sql = "UPDATE test SET company_name = %s, company_address = %s WHERE id = %s"

params = [("瑞雪科技22", "黄浦路100号22", 19722), ("瑞雪科技23", "黄浦路100号23", 19723)]

rows = database.batchUpdate(sql , params )

def query_all(sql, params)

根据查询sql和params得到数据库中的记录列表。

调用例:


sql = "select * from test"

rows = database.query_all(sql, params = None)

sql = "select * from test where id = %s"

rows = database.query_all(sql, params = (19745,))

def query_one(sql, params)

根据查询sql和params得到数据库中的单条记录。

调用例:


sql = "select * from test where id = %s"

row = database.query_all(sql, params = (19745,))

def create_table_by_template(table_name, template_table_name)

用于从模板表(template_table_name)中动态在数据库中创建新表(table_name)

调用例:


database.create_table_by_template("test2", "test")