Python异步操作MySQL示例【使用aiomysql】

本文实例讲述了Python异步操作MySQL。分享给大家供大家参考,具体如下:

安装aiomysql

依赖

Python3.4+

asyncio

PyMySQL

安装

pip install aiomysql

应用

基本的异步连接connection

import asyncio

from aiomysql import create_pool

loop = asyncio.get_event_loop()

async def go():

async with create_pool(host='127.0.0.1', port=3306,

user='root', password='',

db='mysql', loop=loop) as pool:

async with pool.get() as conn:

async with conn.cursor() as cur:

await cur.execute("SELECT 42;")

value = await cur.fetchone()

print(value)

loop.run_until_complete(go())

异步的连接池 pool

import asyncio

import aiomysql

async def test_example(loop):

pool = await aiomysql.create_pool(host='127.0.0.1', port=3306,

user='root', password='',

db='mysql', loop=loop)

async with pool.acquire() as conn:

async with conn.cursor() as cur:

await cur.execute("SELECT 42;")

print(cur.description)

(r,) = await cur.fetchone()

assert r == 42

pool.close()

await pool.wait_closed()

loop = asyncio.get_event_loop()

loop.run_until_complete(test_example(loop))

对象关系映射SQLAlchemy - Object Relationship Mapping

可以随意定义表结构,轻松调用查询、插入等操作方法。

import asyncio

import sqlalchemy as sa

from aiomysql.sa import create_engine

metadata = sa.MetaData()

tbl = sa.Table('tbl', metadata,

sa.Column('id', sa.Integer, primary_key=True),

sa.Column('val', sa.String(255)))

async def go(loop):

engine = await create_engine(user='root', db='test_pymysql',

host='127.0.0.1', password='', loop=loop)

async with engine.acquire() as conn:

await conn.execute(tbl.insert().values(val='abc'))

await conn.execute(tbl.insert().values(val='xyz'))

async for row in conn.execute(tbl.select()):

print(row.id, row.val)

engine.close()

await engine.wait_closed()

loop = asyncio.get_event_loop()

loop.run_until_complete(go(loop))

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python常见数据库操作技巧汇总》、《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

以上就是本次给大家分享的关于java的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。

python异步查询数据库_Python中使用aiomysql异步操作MySQL实例效果相关推荐

  1. python异步查询数据库_Python的Tornado框架实现异步非阻塞访问数据库的示例

    tornado即是一个http非阻塞服务器, 就要用起来, 我们将用到tornado框架 ,mongodb数据库 以及motor(mongodb的异步驱动).来简单实现tornado的非阻塞功能. 其 ...

  2. php异步查询数据库,php中mysql数据库异步查询实现

    问题 通常一个web应用的性能瓶颈在数据库.因为,通常情况下php中mysql查询是串行的.也就是说,如果指定两条sql语句时,第二条sql语句会等到第一条sql语句执行完毕再去执行.这个时候,如果执 ...

  3. [转载] python字典查询功能_Python中的字典功能

    参考链接: Python中的字典dictionary方法 (cmp(), len(), items()-) python字典查询功能 Let's check out some important fu ...

  4. python协程池操作mysql_在python中使用aiomysql异步操作mysql

    之前一直在使用mongo与redis,最近在项目中开始使用mysql数据库,由于现在的项目是全程异步的操作,所以在在网上查了下关于在python中异步的操作mysql,找来找去最后发现aiomysql ...

  5. python批量查询数据库_Python + MySQL 批量查询百度收录

    做SEO的同学,经常会遇到几百或几千个站点,然后对于收录情况去做分析的情况 那么多余常用的一些工具在面对几千个站点需要去做收录分析的时候,那么就显得不是很合适. 在此特意分享给大家一个批量查询百度收录 ...

  6. python如何查询数据库_python如何访问数据库

    1.背景: python提供了很多数据库接口, 常用的数据库有 MS SQL Server /mysql /oracle 等. 打开链接 https://wiki.python.org/moin/Da ...

  7. python如何查询数据库_Python数据库操作手册-数据库专栏,SQL Server

    数据库的操作在现在的python里面已经变得十分的好用,有了一套api标准.下面的就是讲讲如何的去使用这套框架定义.此框架包含以下部分模块接口 连接对象 游标对象 dbi辅助对象 数据类型与定义 如何 ...

  8. python如何查询数据库_python如何实现查询sql数据库并生成html文件?

    你好. !/usr/bin/env python -- coding: utf-8 -- import MySQLdb as mdb 连接数据库 conn = mdb.connect('localho ...

  9. python配什么数据库_python中常见数据库有哪些

    python中常见的数据库有哪些呢?数据库大致分为两大类,第一类是包括关系数据库,第二类是非关系数据库,下面介绍一下这两类数据库的相关知识. 包括关系数据库:sqlite,mysql,mssql 非关 ...

最新文章

  1. 一个GDIPlus的Bug -- OutofMemory异常
  2. Pandas 数据挖掘与分析时的常用方法
  3. ASP.NET中App_Code,App_Data等文件夹的作用
  4. python基础框架_Python基础框架和工具-阿里云开发者社区
  5. vue项目打包丢入服务器,浅谈vue项目如何打包扔向服务器
  6. 一年的收益就是60% 熊市也能做到 股票花荣实战系统
  7. 临床预测模型开发checklist详解
  8. 学习JS的正则表达式
  9. 判别两棵树是否相等 设计算法_一文看懂生成对抗网络 - GANs?(附:10种典型算法+13种应用)...
  10. TensorFlow2.0 —— 模型保存与加载
  11. 【算法】小团的车辆调度(美团2021校招题)
  12. 什么是软件测试中的探索性测试(完整指南)(一)
  13. linux gpt分区挂载,GPT分区和挂载
  14. 计算机应用基础——计算机硬件(二)
  15. [科研]本科生毕业论文查重网站汇总
  16. Rabbitmq Ambiguous payload parameter for public xxx
  17. 9亿财产如何分配:大S与汪小菲离婚所感
  18. matlab | 程序运行时间
  19. 【JAVA枚举类型】
  20. 数字孪生三维铁路管理系统方案

热门文章

  1. 经典面试题:有序矩阵的快速查找
  2. 快速入门开源深度学习框架
  3. 提出智能扰动方法!字节跳动隐私保护论文入选 NeurIPS 2020 联邦学习Workshop
  4. ​炸裂!万字长文拿下 HTTP 我在字节跳动等你!
  5. 首提“智能X效应”,英特尔携手产业加速智能变革
  6. Siri 自动拨打 911、Google 建筛查网站、IBM 测药物成分,国际抗疫在行动!
  7. 远程办公:如何招聘有自驱力的员工?
  8. 互联网公司还要亏多久?
  9. 官宣!VS Code Python 全新功能全球首发!
  10. “近一个月”、“近三个月”这种查询如何处理更精确?