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


Posted in Python onMay 16, 2019

本文实例讲述了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实现zencart产品数据导入到magento(python导入数据)
Apr 03 Python
Python 3中print函数的使用方法总结
Aug 08 Python
python正则实现计算器功能
Dec 14 Python
python sys.argv[]用法实例详解
May 25 Python
Python实现的特征提取操作示例
Dec 03 Python
Python从单元素字典中获取key和value的实例
Dec 31 Python
python利用Tesseract识别验证码的方法示例
Jan 21 Python
基于python-opencv3的图像显示和保存操作
Jun 27 Python
Django 简单实现分页与搜索功能的示例代码
Nov 07 Python
python调用百度API实现人脸识别
Nov 17 Python
python 实现mysql自动增删分区的方法
Apr 01 Python
Python基本知识点总结
Apr 07 Python
Django 表单模型选择框如何使用分组
May 16 #Python
详解pandas如何去掉、过滤数据集中的某些值或者某些行?
May 15 #Python
详解Python列表赋值复制深拷贝及5种浅拷贝
May 15 #Python
Python 20行简单实现有道在线翻译的详解
May 15 #Python
Python中的字符串切片(截取字符串)的详解
May 15 #Python
python3 property装饰器实现原理与用法示例
May 15 #Python
详解Python下载图片并保存本地的两种方式
May 15 #Python
You might like
PHP写MySQL数据 实现代码
2009/06/15 PHP
php 验证码制作(网树注释思想)
2009/07/20 PHP
php设计模式 FlyWeight (享元模式)
2011/06/26 PHP
简单的PHP多图上传小程序代码
2011/07/17 PHP
深入解析PHP的引用计数机制
2013/06/14 PHP
PHP结合JQueryJcrop实现图片裁切实例详解
2014/07/24 PHP
PHP简单获取网站百度搜索和搜狗搜索收录量的方法
2016/08/23 PHP
列表内容的选择
2006/06/30 Javascript
js计数器代码
2006/11/04 Javascript
JQuery 表单中textarea字数限制实现代码
2009/12/07 Javascript
利用ajaxfileupload插件实现文件上传无刷新的具体方法
2013/06/08 Javascript
jquery属性过滤选择器使用示例
2013/06/18 Javascript
Js,alert出现乱码问题的解决方法
2013/06/19 Javascript
借助JavaScript脚本判断浏览器Flash Player信息的方法
2014/07/09 Javascript
javascript中Array数组的迭代方法实例分析
2015/02/04 Javascript
js实现的下拉框二级联动效果
2016/04/30 Javascript
JavaScript计时器用法分析【setTimeout和clearTimeout】
2017/01/18 Javascript
angularjs之$timeout指令详解
2017/06/13 Javascript
10个经典的网页鼠标特效代码
2018/01/09 Javascript
Vue.js分页组件实现:diVuePagination的使用详解
2018/01/10 Javascript
ES6 Symbol在对象中的作用实例分析
2020/06/06 Javascript
JS实现移动端可折叠导航菜单(现代都市风)
2020/07/07 Javascript
使用Python保存网页上的图片或者保存页面为截图
2016/03/05 Python
Python之日期与时间处理模块(date和datetime)
2017/02/16 Python
Python3中正则模块re.compile、re.match及re.search函数用法详解
2018/06/11 Python
Python开发之Nginx+uWSGI+virtualenv多项目部署教程
2019/05/13 Python
Python中函数参数匹配模型详解
2019/06/09 Python
详解pytorch 0.4.0迁移指南
2019/06/16 Python
Groupon西班牙官方网站:在线优惠券和交易,节省高达70%
2021/03/13 全球购物
软件生产职位结构化面试主要考察要素及面试题库
2015/06/12 面试题
小学后勤管理制度
2014/01/14 职场文书
中学生秋季运动会广播稿
2014/09/21 职场文书
学习商务礼仪心得体会
2016/01/22 职场文书
《失物招领》教学反思
2016/02/20 职场文书
先进基层党组织事迹材料2016
2016/02/29 职场文书
人生感悟经典句子
2019/08/20 职场文书