aiomysql官方文档一

aiomysql-API Rederence

连接

这个库提供了一种通过简洁的工厂级别的函数aiomysql.connect()去连接MySQL数据库的一种方式。如果你只想要存在一个连接,可以使用这种方式。对于多个连接可以考虑连接池。

示例:


"""
    Just a demo for test the aiomysql.
"""
import asyncio
import aiomysql

loop = asyncio.get_event_loop()


@asyncio.coroutine
def test_example():
    conn = yield from aiomysql.connect(host="127.0.0.1", port=3306,
                                       user="root", password="123456",
                                       db="mysql", loop=loop
                                       )

    cur = yield from conn.cursor()
    yield from cur.execute("select Host, User from user")
    print(cur.description)
    result = yield from cur.fetchall()
    print(result)
    yield from cur.close()
    conn.close()


loop.run_until_complete(test_example())

connect()函数的参数解析:

**connect(host="localhost", user=None, password="",
db=None, port=3306, unix_socket=None,
charset='', sql_mode=None,
read_default_file=None, conv=decoders, use_unicode=None,
client_flag=0, cursorclass=Cursor, init_command=None,
connect_timeout=None, read_default_group=None,
no_delay=None, autocommit=False, echo=False,
local_infile=False, loop=None):
**

一个连接MySQL的协程。

这个方法接受了所有来自pymsql.connect()的参数,并加上了关键字循环参数和超时参数。

  • 字符串参数 host: 数据库服务所在的主机的地址。 默认为“localhost”
  • 字符串参数 user:登录数据库的用户名
  • 字符串参数 password:对应用户名的密码
  • 字符串参数 db: 要使用的数据库, 如果没有指定不会使用其他的,报错。
  • 整型参数 port:MySQL服务使用的端口,一般默认的就可以(3306).
  • 字符串参数 unix_socket:可选的,你可以使用一个unixsocket,而不是一个TCP/IP
  • 字符串参数 charset: 指定你想要使用的编码格式,例如“utf8”。
  • 参数 sql_model:默认使用的SQL模式,例如“NO_BACKSLASH_ESCAPES”
  • 参数 read_default_file: 指定读取[client]部分的my.cnf文件。
  • 参数 conv:使用指定编码器替代默认编码器,通常用来定制一些类型。 具体参考pymysql.converters
  • 参数 user_unicode: 是否使用默认的unicode字符串
  • 参数 client_flag: 自定义发送给mysql的flag,从pymysql.constants.CLIENT中可以找到相应的值。
  • 参数 cursorclass:自定义使用的游标类
  • 参数 str init_command:连接建立的时候执行的SQL初始化语句。
  • 参数 connect_timeout:连接中抛出异常前的保持时间。
  • 字符串参数 read_default_group:从配置文件中读取的分组信息
  • 布尔参数 no_delay:禁止使用socket连接的纳格算法
  • 参数 autocommit:自动提交模式,指定为None使用默认的值(default: False)
  • 参数 loop:异步循环事件的实例,或者指定为None使用默认的实例。
  • return:返回值是一个连接的实例

MySQL服务器的socket的标志,获取链接实例的正确方法是调用aiomysql.connect()

它的实例等同于pymsql.connection除了他的所有方法都是使用了协程。

最重要的方法是:

aiomysql.cursor(cursor=None)

一个使用连接创建新游标对象的协程。

默认情况下, Cursor将被返回。也可以通过cursor参数给定一个自定义的cursor,但是他需要一个Cursor的子类。

Parameters: cursor- Cursor的子类,或者指定为None使用默认的cursor。

Returns: Cursor实例。

aiomysql.close()

立即关闭连接。

立即关闭连接,(除非del操作在执行)。从这之后连接将无法使用。

aiomysql.ensure_closed()

协程退出指令,然后会关闭socket连接。

aiomysql.autocommit(value)

指定当前session会话的自动提交模式是否可用的协程

Params:布尔值
value: 切换自动提交模式

aiomysql.get_autocommit()

返回当前会话的自动提交模式的状态。

Reuturn: 布尔值 自动提交模式的状态

aiomysql.begin()

开启一个事务的协程。

aiomysql.commt()

提交更改到存储器的协程

aiomysql.rollback()

当前事务的rollback的协程

aiomysql.select_db(db)

选择当前数据库的协程

Paramters: 数据库(字符串)-- 数据库的名字

aiomysql.closed()

如果连接关闭,返回一个只读的属性 True。

aiomysql.host

MySQL服务器的IP地址或者主机名

aiomysql.port

MySQL服务器的TCP/IP通信端口

aiomysql.unix_socket

MySQL套接字文件的位置

aiomysql.db

当前数据库的名字

aiomysql.user

连接MySQL服务器的用户

aiomysql.echo

返回echo模式的状态(是否打印出SQL语句)

aiomysql.encoding

当前连接使用的编码格式

aiomysql.charset

返回当前连接的字符集。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容