Python异步操作MySQL示例【使用aiomysql】
程序员文章站
2023-01-09 22:12:38
本文实例讲述了python异步操作mysql。分享给大家供大家参考,具体如下:
安装aiomysql
依赖
python3.4+
asyncio...
本文实例讲述了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程序设计有所帮助。
推荐阅读
-
Python3使用pandas模块读写excel操作示例
-
Python使用numpy产生正态分布随机数的向量或矩阵操作示例
-
python使用phoenixdb操作hbase的方法示例
-
Python使用Pickle库实现读写序列操作示例
-
Python使用jsonpath-rw模块处理Json对象操作示例
-
Python使用Flask-SQLAlchemy连接数据库操作示例
-
Python使用pyautogui模块实现自动化鼠标和键盘操作示例
-
python使用adbapi实现MySQL数据库的异步存储
-
python连接mysql数据库示例(做增删改操作)
-
Python使用pickle模块储存对象操作示例