"""
MySQL数据库工具库

提供MySQL数据库的连接池管理、基础CRUD操作、高级查询功能和事务管理。

主要功能：
- 连接池管理
- 基础CRUD操作（增删改查）
- 分页、排序、聚合查询
- 事务管理
- 异常处理和日志记录

使用示例：
    from utils.mysql import mysql_db

    # 基础查询
    users = mysql_db.select('users', where='age > %s', where_params=(18,))

    # 分页查询
    result = mysql_db.paginate('users', page=1, page_size=10)

    # 事务操作
    with mysql_db.transaction():
        mysql_db.insert('users', {'name': 'John', 'age': 25})
        mysql_db.update('users', {'age': 26}, 'name = %s', ('John',))
"""

# 直接导入所有模块（pymysql已安装，无需延迟导入）
from .mysql_transaction import mysql_transaction as mysql_db
from .mysql_pool import mysql_pool
from .mysql_helper import mysql_helper
from .mysql_advanced import mysql_advanced
from .mysql_exceptions import (
    MySQLBaseException,
    MySQLConnectionError,
    MySQLConfigError,
    MySQLQueryError,
    MySQLTransactionError,
    MySQLPoolError,
    MySQLValidationError
)

# 版本信息
__version__ = '1.0.0'
__author__ = 'MySQL Utils'

# 导出主要接口
__all__ = [
    # 主要操作接口
    'mysql_db',          # 主要使用的接口，包含所有功能

    # 各功能模块
    'mysql_pool',        # 连接池管理
    'mysql_helper',      # 基础CRUD操作
    'mysql_advanced',    # 高级查询功能

    # 异常类
    'MySQLBaseException',
    'MySQLConnectionError',
    'MySQLConfigError',
    'MySQLQueryError',
    'MySQLTransactionError',
    'MySQLPoolError',
    'MySQLValidationError',

    # 版本信息
    '__version__'
]