当前位置: 首页>>代码示例>>Python>>正文


Python aiomysql.DictCursor方法代码示例

本文整理汇总了Python中aiomysql.DictCursor方法的典型用法代码示例。如果您正苦于以下问题:Python aiomysql.DictCursor方法的具体用法?Python aiomysql.DictCursor怎么用?Python aiomysql.DictCursor使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在aiomysql的用法示例。


在下文中一共展示了aiomysql.DictCursor方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: select

# 需要导入模块: import aiomysql [as 别名]
# 或者: from aiomysql import DictCursor [as 别名]
def select(cls, sql, args=(), size=None):
        uid = uuid.uuid4().hex
        logging.info("uid:%s,DBPoolC.select get conn start " % (uid,))
        with (await dbPool) as conn:
            logging.info("uid:%s,DBPoolC.select get conn end %s " % (uid, conn))
            logging.info("uid:%s,DBPoolC.select get cursor start " % (uid,))
            cur = await conn.cursor(aiomysql.DictCursor)
            logging.info("uid:%s,DBPoolC.select get cursor end %s " % (uid, cur))
            sql = sql.replace('?', '%s')
            logging.info("uid:%s,DBPoolC.select execute start " % (uid,))
            await cur.execute(sql, args)
            logging.info("uid:%s,DBPoolC.select execute end " % (uid,))
            if size:
                logging.info("uid:%s,DBPoolC.select fetchmany start " % (uid,))
                rs = await cur.fetchmany(size)
                logging.info("uid:%s,DBPoolC.select fetchmany end " % (uid,))
            else:
                logging.info("uid:%s,DBPoolC.select fetchall start " % (uid,))
                rs = await cur.fetchall()
                logging.info("uid:%s,DBPoolC.select fetchall end " % (uid,))
            await cur.close()
        return rs 
开发者ID:dianbaer,项目名称:jupiter,代码行数:24,代码来源:DBPool.py

示例2: select

# 需要导入模块: import aiomysql [as 别名]
# 或者: from aiomysql import DictCursor [as 别名]
def select(sql, args, size=None):
    log(sql, args)
    # 异步等待连接池对象返回可以连接线程,with语句则封装了清理(关闭conn)和处理异常的工作
    async with __pool.get() as conn:
        # 等待连接对象返回DictCursor可以通过dict的方式获取数据库对象,需要通过游标对象执行SQL
        async with conn.cursor(aiomysql.DictCursor) as cur:
            await cur.execute(sql.replace('?', '%s'), args)  # 将sql中的'?'替换为'%s',因为mysql语句中的占位符为%s
            # 如果传入size
            if size:
                resultset = await cur.fetchmany(size)  # 从数据库获取指定的行数
            else:
                resultset = await cur.fetchall()      # 返回所有的结果集
        logging.info('rows returned: %s' % len(resultset))
        return resultset

# 用于SQL的INSERT INTO,UPDATE,DELETE语句,execute方法只返回结果数,不返回结果集 
开发者ID:moling3650,项目名称:mblog,代码行数:18,代码来源:orm.py

示例3: execute

# 需要导入模块: import aiomysql [as 别名]
# 或者: from aiomysql import DictCursor [as 别名]
def execute(sql, args, autocommit=True):
    log(sql, args)
    async with __pool.get() as conn:
        if not autocommit:       # 若设置不是自动提交,则手动开启事务
            await conn.begin()
        try:
            async with conn.cursor(aiomysql.DictCursor) as cur:  # 打开一个DictCursor,它与普通游标的不同在于,以dict形式返回结果
                await cur.execute(sql.replace('?', '%s'), args)
                affected = cur.rowcount    # 返回受影响的行数
            if not autocommit:             # 同上, 如果设置不是自动提交的话,手动提交事务
                await conn.commit()
        except BaseException as e:
            if not autocommit:             # 出错, 回滚事务到增删改之前
                await conn.rollback()
            raise e
        return affected


# 这是一个元类,它定义了如何来构造一个类,任何定义了__metaclass__属性或指定了metaclass的都会通过元类定义的构造方法构造类
# 任何继承自Model的类,都会自动通过ModelMetaclass扫描映射关系,并存储到自身的类属性 
开发者ID:moling3650,项目名称:mblog,代码行数:22,代码来源:orm.py

示例4: select

# 需要导入模块: import aiomysql [as 别名]
# 或者: from aiomysql import DictCursor [as 别名]
def select(sql, args, size=None):
    log(sql, args)
    # 声明全局变量,这样才能引用create_pool函数创建的__pool变量
    global __pool
    # 从连接池中获得一个数据库连接
    # 用with语句可以封装清理(关闭conn)和处理异常工作
    async with __pool.get() as conn:
        # 等待连接对象返回DictCursor可以通过dict的方式获取数据库对象,需要通过游标对象执行SQL
        async with conn.cursor(aiomysql.DictCursor) as cur:
            # 设置执行语句,其中sql语句的占位符为?,而python为%s, 这里要做一下替换
            # args是sql语句的参数
            await cur.execute(sql.replace('?', '%s'), args or ())
            # 如果制定了查询数量,则查询制定数量的结果,如果不指定则查询所有结果
            if size:
                rs = await cur.fetchmany(size)  # 从数据库获取指定的行数
            else:
                rs = await cur.fetchall()  # 返回所有结果集
        logging.info("返回的行数:%s" % len(rs))
        return rs  # 返回结果集

# 定义execute()函数执行insert update delete语句 
开发者ID:ReedSun,项目名称:Preeminent,代码行数:23,代码来源:orm.py

示例5: execute

# 需要导入模块: import aiomysql [as 别名]
# 或者: from aiomysql import DictCursor [as 别名]
def execute(sql, args, autocommit=True):
    # execute()函数只返回结果数,不返回结果集,适用于insert, update这些语句
    log(sql)
    async with __pool.get() as conn:
        if not autocommit:
            await conn.begin()
        try:
            async with conn.cursor(aiomysql.DictCursor) as cur:
                await cur.execute(sql.replace('?', '%s'), args)
                affected = cur.rowcount  # 返回受影响的行数
            if not autocommit:
                await conn.commit()
        except BaseException as e:
            if not autocommit:
                await conn.rollback()
            raise
        return affected

# 这个函数在元类中被引用,作用是创建一定数量的占位符 
开发者ID:ReedSun,项目名称:Preeminent,代码行数:21,代码来源:orm.py

示例6: __aenter__

# 需要导入模块: import aiomysql [as 别名]
# 或者: from aiomysql import DictCursor [as 别名]
def __aenter__(self) -> "MySQLSourceContext":
        self.__conn = self.parent.db.cursor(aiomysql.DictCursor)
        self.conn = await self.__conn.__aenter__()
        return self 
开发者ID:intel,项目名称:dffml,代码行数:6,代码来源:source.py

示例7: __aenter__

# 需要导入模块: import aiomysql [as 别名]
# 或者: from aiomysql import DictCursor [as 别名]
def __aenter__(self) -> "MySQLDatabaseContext":
        self.__conn = self.parent.db.cursor(aiomysql.DictCursor)
        self.conn = await self.__conn.__aenter__()
        return self 
开发者ID:intel,项目名称:dffml,代码行数:6,代码来源:db.py

示例8: table

# 需要导入模块: import aiomysql [as 别名]
# 或者: from aiomysql import DictCursor [as 别名]
def table(loop, connection, table_cleanup):
    async def f():
        cursor = await connection.cursor(DictCursor)
        sql = """CREATE TABLE bulkinsert (id INT(11), name CHAR(20),
                 age INT, height INT, PRIMARY KEY (id))"""
        await cursor.execute(sql)
    table_cleanup('bulkinsert')
    loop.run_until_complete(f()) 
开发者ID:aio-libs,项目名称:aiomysql,代码行数:10,代码来源:test_bulk_inserts.py

示例9: assert_dict_records

# 需要导入模块: import aiomysql [as 别名]
# 或者: from aiomysql import DictCursor [as 别名]
def assert_dict_records(connection):
    async def f(data):
        cursor = await connection.cursor(DictCursor)
        await cursor.execute(
            "SELECT id, name, age, height FROM bulkinsert")
        result = await cursor.fetchall()
        await cursor.execute('COMMIT')
        assert sorted(data, key=lambda k: k['id']) == \
            sorted(result, key=lambda k: k['id'])
    return f 
开发者ID:aio-libs,项目名称:aiomysql,代码行数:12,代码来源:test_bulk_inserts.py


注:本文中的aiomysql.DictCursor方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。