跳转到主要内容

Tornado的纯Python MySQL驱动程序

项目描述

https://travis-ci.org/PyMySQL/Tornado-MySQL.svg?branch=tornado

此软件包包含支持Tornado的PyMySQL的分支。

示例

example

#!/usr/bin/env python
from __future__ import print_function

from tornado import ioloop, gen
import tornado_mysql

@gen.coroutine
def main():
    conn = yield tornado_mysql.connect(host='127.0.0.1', port=3306, user='root', passwd='', db='mysql')
    cur = conn.cursor()
    yield cur.execute("SELECT Host,User FROM user")
    print(cur.description)
    for row in cur:
       print(row)
    cur.close()
    conn.close()

ioloop.IOLoop.current().run_sync(main)

example_pool

#!/usr/bin/env python
from __future__ import print_function

from tornado import ioloop, gen
from tornado_mysql import pools


pools.DEBUG = True


POOL = pools.Pool(
    dict(host='127.0.0.1', port=3306, user='root', passwd='', db='mysql'),
    max_idle_connections=1,
    max_recycle_sec=3)


@gen.coroutine
def worker(n):
    for i in range(10):
        t = 1
        print(n, "sleeping", t, "seconds")
        cur = yield POOL.execute("SELECT SLEEP(%s)", (t,))
        print(n, cur.fetchall())


@gen.coroutine
def main():
    workers = [worker(i) for i in range(10)]
    yield workers


ioloop.IOLoop.current().run_sync(main)
print(POOL._opened_conns)

需求

  • Python - 以下之一

  • MySQL服务器 - 以下之一

安装

最后一个稳定版本可在PyPI上找到,并可使用pip安装

$ pip install Tornado-MySQL

测试套件

如果您想运行测试套件,请首先将文件.travis.databases.json复制到tornado_mysql/tests/databases.json,并编辑新文件以匹配您的MySQL配置

$ cp .travis.databases.json tornado_mysql/tests/databases.json
$ $EDITOR tornado_mysql/tests/databases.json

要运行所有测试,请执行脚本runtests.py

$ python runtests.py

还提供了一个tox.ini文件,方便在多个Python版本上运行测试

$ tox

资源

DB-API 2.0: https://pythonlang.cn/dev/peps/pep-0249

MySQL参考手册: https://dev.mysqlserver.cn/doc/

MySQL客户端/服务器协议: https://dev.mysqlserver.cn/doc/internals/en/client-server-protocol.html

PyMySQL邮件列表: https://groups.google.com/forum/#!forum/pymysql-users

许可证

PyMySQL在MIT许可证下发布。有关更多信息,请参阅LICENSE。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定该选择哪个,请了解更多关于安装包的信息。

源代码分发

Tornado-MySQL-0.5.1.tar.gz (56.0 kB 查看哈希值)

上传时间 源代码

构建分发

Tornado_MySQL-0.5.1-py2.py3-none-any.whl (66.5 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下支持