{
    "content": [
        {
            "type": "text",
            "text": "# pymysql (pydoc)\n\n## NAME\n\npymysql - PyMySQL: A pure-Python MySQL client library.\n\n## DESCRIPTION\n\nCopyright (c) 2010-2016 PyMySQL contributors\n\n## Sections\n\n- **NAME**\n- **DESCRIPTION**\n- **PACKAGE CONTENTS**\n- **SUBMODULES**\n- **CLASSES** (13 subsections)\n- **FUNCTIONS** (2 subsections)\n- **DATA**\n- **VERSION**\n- **FILE**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "pymysql",
        "section": "",
        "mode": "pydoc",
        "summary": "pymysql - PyMySQL: A pure-Python MySQL client library.",
        "synopsis": null,
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 20,
                "subsections": []
            },
            {
                "name": "PACKAGE CONTENTS",
                "lines": 11,
                "subsections": []
            },
            {
                "name": "SUBMODULES",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "CLASSES",
                "lines": 285,
                "subsections": [
                    {
                        "name": "class Connection",
                        "lines": 262
                    },
                    {
                        "name": "class DBAPISet",
                        "lines": 126
                    },
                    {
                        "name": "class DataError",
                        "lines": 76
                    },
                    {
                        "name": "class DatabaseError",
                        "lines": 203
                    },
                    {
                        "name": "class Error",
                        "lines": 73
                    },
                    {
                        "name": "class IntegrityError",
                        "lines": 76
                    },
                    {
                        "name": "class InterfaceError",
                        "lines": 74
                    },
                    {
                        "name": "class InternalError",
                        "lines": 76
                    },
                    {
                        "name": "class MySQLError",
                        "lines": 69
                    },
                    {
                        "name": "class NotSupportedError",
                        "lines": 77
                    },
                    {
                        "name": "class OperationalError",
                        "lines": 78
                    },
                    {
                        "name": "class ProgrammingError",
                        "lines": 390
                    },
                    {
                        "name": "class Warning",
                        "lines": 335
                    }
                ]
            },
            {
                "name": "FUNCTIONS",
                "lines": 9,
                "subsections": [
                    {
                        "name": "get_client_info",
                        "lines": 1
                    },
                    {
                        "name": "install_as_MySQLdb",
                        "lines": 3
                    }
                ]
            },
            {
                "name": "DATA",
                "lines": 14,
                "subsections": []
            },
            {
                "name": "VERSION",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "FILE",
                "lines": 3,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "pymysql - PyMySQL: A pure-Python MySQL client library.\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "Copyright (c) 2010-2016 PyMySQL contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n",
                "subsections": []
            },
            "PACKAGE CONTENTS": {
                "content": "auth\ncharset\nconnections\nconstants (package)\nconverters\ncursors\nerr\noptionfile\nprotocol\ntimes\n",
                "subsections": []
            },
            "SUBMODULES": {
                "content": "FIELDTYPE\n",
                "subsections": []
            },
            "CLASSES": {
                "content": "builtins.Exception(builtins.BaseException)\npymysql.err.MySQLError\npymysql.err.Error\npymysql.err.DatabaseError\npymysql.err.DataError\npymysql.err.IntegrityError\npymysql.err.InternalError\npymysql.err.NotSupportedError\npymysql.err.OperationalError\npymysql.err.ProgrammingError\npymysql.err.InterfaceError\npymysql.err.Warning(builtins.Warning, pymysql.err.MySQLError)\nbuiltins.Warning(builtins.Exception)\npymysql.err.Warning(builtins.Warning, pymysql.err.MySQLError)\nbuiltins.frozenset(builtins.object)\nDBAPISet\nbuiltins.object\ndatetime.date\ndatetime.datetime\ndatetime.time\npymysql.connections.Connection\n\nConnect = class Connection(builtins.object)\n|  Connect(*, user=None, password='', host=None, database=None, unixsocket=None, port=0, charset='', collation=None, sqlmode=None, readdefaultfile=None, conv=None, useunicode=True, clientflag=0, cursorclass=<class 'pymysql.cursors.Cursor'>, initcommand=None, connecttimeout=10, readdefaultgroup=None, autocommit=False, localinfile=False, maxallowedpacket=16777216, deferconnect=False, authpluginmap=None, readtimeout=None, writetimeout=None, bindaddress=None, binaryprefix=False, programname=None, serverpublickey=None, ssl=None, sslca=None, sslcert=None, ssldisabled=None, sslkey=None, sslkeypassword=None, sslverifycert=None, sslverifyidentity=None, compress=None, namedpipe=None, passwd=None, db=None)\n|\n|  Representation of a socket with a mysql server.\n|\n|  The proper way to get an instance of this class is to call\n|  connect().\n|\n|  Establish a connection to the MySQL database. Accepts several\n|  arguments:\n|\n|  :param host: Host where the database server is located.\n|  :param user: Username to log in as.\n|  :param password: Password to use.\n|  :param database: Database to use, None to not use a particular one.\n|  :param port: MySQL port to use, default is usually OK. (default: 3306)\n|  :param bindaddress: When the client has multiple network interfaces, specify\n|      the interface from which to connect to the host. Argument can be\n|      a hostname or an IP address.\n|  :param unixsocket: Use a unix socket rather than TCP/IP.\n|  :param readtimeout: The timeout for reading from the connection in seconds.\n|      (default: None - no timeout)\n|  :param writetimeout: The timeout for writing to the connection in seconds.\n|      (default: None - no timeout)\n|  :param str charset: Charset to use.\n|  :param str collation: Collation name to use.\n|  :param sqlmode: Default SQLMODE to use.\n|  :param readdefaultfile:\n|      Specifies  my.cnf file to read these parameters from under the [client] section.\n|  :param conv:\n|      Conversion dictionary to use instead of the default one.\n|      This is used to provide custom marshalling and unmarshalling of types.\n|      See converters.\n|  :param useunicode:\n|      Whether or not to default to unicode strings.\n|      This option defaults to true.\n|  :param clientflag: Custom flags to send to MySQL. Find potential values in constants.CLIENT.\n|  :param cursorclass: Custom cursor class to use.\n|  :param initcommand: Initial SQL statement to run when connection is established.\n|  :param connecttimeout: The timeout for connecting to the database in seconds.\n|      (default: 10, min: 1, max: 31536000)\n|  :param ssl: An ssl.SSLContext, or a dict of arguments similar to mysqlsslset()'s parameters.\n|      Passing a dict is deprecated; use the individual ``ssl*`` parameters or an\n|      ``ssl.SSLContext`` instead.\n|  :param sslca: Path to the file that contains a PEM-formatted CA certificate.\n|  :param sslcert: Path to the file that contains a PEM-formatted client certificate.\n|  :param ssldisabled: A boolean value that disables usage of TLS. Unlike other SSL options,\n|      setting this to True explicitly prohibits the use of TLS, even if the server supports it.\n|  :param sslkey: Path to the file that contains a PEM-formatted private key for\n|      the client certificate.\n|  :param sslkeypassword: The password for the client certificate private key.\n|  :param sslverifycert: Set to true to check the server certificate's validity.\n|  :param sslverifyidentity: Set to true to check the server's identity.\n|  :param readdefaultgroup: Group to read from in the configuration file.\n|  :param autocommit: Autocommit mode. None means use server default. (default: False)\n|  :param localinfile: Boolean to enable the use of LOAD DATA LOCAL command. (default: False)\n|  :param maxallowedpacket: Max size of packet sent to server in bytes. (default: 16MB)\n|      Only used to limit size of \"LOAD LOCAL INFILE\" data packet smaller than default (16KB).\n|  :param deferconnect: Don't explicitly connect on construction - wait for connect call.\n|      (default: False)\n|  :param authpluginmap: A dict of plugin names to a class that processes that plugin.\n|      The class will take the Connection object as the argument to the constructor.\n|      The class needs an authenticate method taking an authentication packet as\n|      an argument.  For the dialog plugin, a prompt(echo, prompt) method can be used\n|      (if no authenticate method) for returning a string from the user. (experimental)\n|  :param serverpublickey: SHA256 authentication plugin public key value. (default: None)\n|  :param binaryprefix: Add binary prefix on bytes and bytearray. (default: False)\n|  :param compress: Not supported.\n|  :param namedpipe: Not supported.\n|  :param db: DEPRECATED Alias for database.\n|  :param passwd: DEPRECATED Alias for password.\n|\n|  See `Connection <https://www.python.org/dev/peps/pep-0249/#connection-objects>` in the\n|  specification.\n|\n|  Methods defined here:\n|\n|  del = forceclose(self)\n|\n|  enter(self)\n|\n|  exit(self, *excinfo)\n|\n|  init(self, *, user=None, password='', host=None, database=None, unixsocket=None, port=0, charset='', collation=None, sqlmode=None, readdefaultfile=None, conv=None, useunicode=True, clientflag=0, cursorclass=<class 'pymysql.cursors.Cursor'>, initcommand=None, connecttimeout=10, readdefaultgroup=None, autocommit=False, localinfile=False, maxallowedpacket=16777216, deferconnect=False, authpluginmap=None, readtimeout=None, writetimeout=None, bindaddress=None, binaryprefix=False, programname=None, serverpublickey=None, ssl=None, sslca=None, sslcert=None, ssldisabled=None, sslkey=None, sslkeypassword=None, sslverifycert=None, sslverifyidentity=None, compress=None, namedpipe=None, passwd=None, db=None)\n|      Initialize self.  See help(type(self)) for accurate signature.\n|\n|  affectedrows(self)\n|\n|  autocommit(self, value)\n|\n|  begin(self)\n|      Begin transaction.\n|\n|  charactersetname(self)\n|\n|  close(self)\n|      Send the quit message and close the socket.\n|\n|      See `Connection.close() <https://www.python.org/dev/peps/pep-0249/#Connection.close>`\n|      in the specification.\n|\n|      :raise Error: If the connection is already closed.\n|\n|  commit(self)\n|      Commit changes to stable storage.\n|\n|      See `Connection.commit() <https://www.python.org/dev/peps/pep-0249/#commit>`\n|      in the specification.\n|\n|  connect(self, sock=None)\n|\n|  cursor(self, cursor=None)\n|      Create a new cursor to execute queries with.\n|\n|      :param cursor: The type of cursor to create. None means use Cursor.\n|      :type cursor: :py:class:`Cursor`, :py:class:`SSCursor`, :py:class:`DictCursor`,\n|          or :py:class:`SSDictCursor`.\n|\n|  escape(self, obj, mapping=None)\n|      Escape whatever value is passed.\n|\n|      Non-standard, for internal use; do not use this in your applications.\n|\n|  escapestring(self, s)\n|\n|  getautocommit(self)\n|\n|  gethostinfo(self)\n|\n|  getprotoinfo(self)\n|\n|  getserverinfo(self)\n|\n|  insertid(self)\n|\n|  kill(self, threadid)\n|\n|  literal(self, obj)\n|      Alias for escape().\n|\n|      Non-standard, for internal use; do not use this in your applications.\n|\n|  nextresult(self, unbuffered=False)\n|\n|  ping(self, reconnect=False)\n|      Check if the server is alive.\n|\n|      `reconnect` is deprecated. Create a new connection if you want to reconnect.\n|\n|      :param reconnect: If the connection is closed, reconnect.\n|      :type reconnect: boolean\n|\n|      :raise Error: If the connection is closed and reconnect=False.\n|\n|  query(self, sql, unbuffered=False)\n|      # The following methods are INTERNAL USE ONLY (called from Cursor)\n|\n|  rollback(self)\n|      Roll back the current transaction.\n|\n|      See `Connection.rollback() <https://www.python.org/dev/peps/pep-0249/#rollback>`\n|      in the specification.\n|\n|  selectdb(self, db)\n|      Set current db.\n|\n|      :param db: The name of the db.\n|\n|  setcharacterset(self, charset, collation=None)\n|      Set charaset (and collation)\n|\n|      Send \"SET NAMES charset [COLLATE collation]\" query.\n|      Update Connection.encoding based on charset.\n|\n|  setcharset(self, charset)\n|      Deprecated. Use setcharacterset() instead.\n|\n|  showwarnings(self)\n|      Send the \"SHOW WARNINGS\" SQL command.\n|\n|  threadid(self)\n|      # mysql support\n|\n|  writepacket(self, payload)\n|      Writes an entire \"mysql packet\" in its entirety to the network\n|      adding its length and sequence number.\n|\n|  ----------------------------------------------------------------------\n|  Readonly properties defined here:\n|\n|  open\n|      Return True if the connection is open.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors defined here:\n|\n|  dict\n|      dictionary for instance variables (if defined)\n|\n|  weakref\n|      list of weak references to the object (if defined)\n|\n|  ----------------------------------------------------------------------\n|  Data and other attributes defined here:\n|\n|  DataError = <class 'pymysql.err.DataError'>\n|      Exception raised for errors that are due to problems with the\n|      processed data like division by zero, numeric value out of range,\n|      etc.\n|\n|\n|  DatabaseError = <class 'pymysql.err.DatabaseError'>\n|      Exception raised for errors that are related to the\n|      database.\n|\n|\n|  Error = <class 'pymysql.err.Error'>\n|      Exception that is the base class of all other error exceptions\n|      (not Warning).\n|\n|\n|  IntegrityError = <class 'pymysql.err.IntegrityError'>\n|      Exception raised when the relational integrity of the database\n|      is affected, e.g. a foreign key check fails, duplicate key,\n|      etc.\n|\n|\n|  InterfaceError = <class 'pymysql.err.InterfaceError'>\n|      Exception raised for errors that are related to the database\n|      interface rather than the database itself.\n|\n|\n|  InternalError = <class 'pymysql.err.InternalError'>\n|      Exception raised when the database encounters an internal\n|      error, e.g. the cursor is not valid anymore, the transaction is\n|      out of sync, etc.\n|\n|\n|  NotSupportedError = <class 'pymysql.err.NotSupportedError'>\n|      Exception raised in case a method or database API was used\n|      which is not supported by the database, e.g. requesting a\n|      .rollback() on a connection that does not support transaction or\n|      has transactions turned off.\n|\n|\n|  OperationalError = <class 'pymysql.err.OperationalError'>\n|      Exception raised for errors that are related to the database's\n|      operation and not necessarily under the control of the programmer,\n|      e.g. an unexpected disconnect occurs, the data source name is not\n|      found, a transaction could not be processed, a memory allocation\n|      error occurred during processing, etc.\n|\n|\n|  ProgrammingError = <class 'pymysql.err.ProgrammingError'>\n|      Exception raised for programming errors, e.g. table not found\n|      or already exists, syntax error in the SQL statement, wrong number\n|      of parameters specified, etc.\n|\n|\n|  Warning = <class 'pymysql.err.Warning'>\n|      Exception raised for important warnings like data truncations\n|      while inserting, etc.\n",
                "subsections": [
                    {
                        "name": "class Connection",
                        "content": "|  Connection(*, user=None, password='', host=None, database=None, unixsocket=None, port=0, charset='', collation=None, sqlmode=None, readdefaultfile=None, conv=None, useunicode=True, clientflag=0, cursorclass=<class 'pymysql.cursors.Cursor'>, initcommand=None, connecttimeout=10, readdefaultgroup=None, autocommit=False, localinfile=False, maxallowedpacket=16777216, deferconnect=False, authpluginmap=None, readtimeout=None, writetimeout=None, bindaddress=None, binaryprefix=False, programname=None, serverpublickey=None, ssl=None, sslca=None, sslcert=None, ssldisabled=None, sslkey=None, sslkeypassword=None, sslverifycert=None, sslverifyidentity=None, compress=None, namedpipe=None, passwd=None, db=None)\n|\n|  Representation of a socket with a mysql server.\n|\n|  The proper way to get an instance of this class is to call\n|  connect().\n|\n|  Establish a connection to the MySQL database. Accepts several\n|  arguments:\n|\n|  :param host: Host where the database server is located.\n|  :param user: Username to log in as.\n|  :param password: Password to use.\n|  :param database: Database to use, None to not use a particular one.\n|  :param port: MySQL port to use, default is usually OK. (default: 3306)\n|  :param bindaddress: When the client has multiple network interfaces, specify\n|      the interface from which to connect to the host. Argument can be\n|      a hostname or an IP address.\n|  :param unixsocket: Use a unix socket rather than TCP/IP.\n|  :param readtimeout: The timeout for reading from the connection in seconds.\n|      (default: None - no timeout)\n|  :param writetimeout: The timeout for writing to the connection in seconds.\n|      (default: None - no timeout)\n|  :param str charset: Charset to use.\n|  :param str collation: Collation name to use.\n|  :param sqlmode: Default SQLMODE to use.\n|  :param readdefaultfile:\n|      Specifies  my.cnf file to read these parameters from under the [client] section.\n|  :param conv:\n|      Conversion dictionary to use instead of the default one.\n|      This is used to provide custom marshalling and unmarshalling of types.\n|      See converters.\n|  :param useunicode:\n|      Whether or not to default to unicode strings.\n|      This option defaults to true.\n|  :param clientflag: Custom flags to send to MySQL. Find potential values in constants.CLIENT.\n|  :param cursorclass: Custom cursor class to use.\n|  :param initcommand: Initial SQL statement to run when connection is established.\n|  :param connecttimeout: The timeout for connecting to the database in seconds.\n|      (default: 10, min: 1, max: 31536000)\n|  :param ssl: An ssl.SSLContext, or a dict of arguments similar to mysqlsslset()'s parameters.\n|      Passing a dict is deprecated; use the individual ``ssl*`` parameters or an\n|      ``ssl.SSLContext`` instead.\n|  :param sslca: Path to the file that contains a PEM-formatted CA certificate.\n|  :param sslcert: Path to the file that contains a PEM-formatted client certificate.\n|  :param ssldisabled: A boolean value that disables usage of TLS. Unlike other SSL options,\n|      setting this to True explicitly prohibits the use of TLS, even if the server supports it.\n|  :param sslkey: Path to the file that contains a PEM-formatted private key for\n|      the client certificate.\n|  :param sslkeypassword: The password for the client certificate private key.\n|  :param sslverifycert: Set to true to check the server certificate's validity.\n|  :param sslverifyidentity: Set to true to check the server's identity.\n|  :param readdefaultgroup: Group to read from in the configuration file.\n|  :param autocommit: Autocommit mode. None means use server default. (default: False)\n|  :param localinfile: Boolean to enable the use of LOAD DATA LOCAL command. (default: False)\n|  :param maxallowedpacket: Max size of packet sent to server in bytes. (default: 16MB)\n|      Only used to limit size of \"LOAD LOCAL INFILE\" data packet smaller than default (16KB).\n|  :param deferconnect: Don't explicitly connect on construction - wait for connect call.\n|      (default: False)\n|  :param authpluginmap: A dict of plugin names to a class that processes that plugin.\n|      The class will take the Connection object as the argument to the constructor.\n|      The class needs an authenticate method taking an authentication packet as\n|      an argument.  For the dialog plugin, a prompt(echo, prompt) method can be used\n|      (if no authenticate method) for returning a string from the user. (experimental)\n|  :param serverpublickey: SHA256 authentication plugin public key value. (default: None)\n|  :param binaryprefix: Add binary prefix on bytes and bytearray. (default: False)\n|  :param compress: Not supported.\n|  :param namedpipe: Not supported.\n|  :param db: DEPRECATED Alias for database.\n|  :param passwd: DEPRECATED Alias for password.\n|\n|  See `Connection <https://www.python.org/dev/peps/pep-0249/#connection-objects>` in the\n|  specification.\n|\n|  Methods defined here:\n|\n|  del = forceclose(self)\n|\n|  enter(self)\n|\n|  exit(self, *excinfo)\n|\n|  init(self, *, user=None, password='', host=None, database=None, unixsocket=None, port=0, charset='', collation=None, sqlmode=None, readdefaultfile=None, conv=None, useunicode=True, clientflag=0, cursorclass=<class 'pymysql.cursors.Cursor'>, initcommand=None, connecttimeout=10, readdefaultgroup=None, autocommit=False, localinfile=False, maxallowedpacket=16777216, deferconnect=False, authpluginmap=None, readtimeout=None, writetimeout=None, bindaddress=None, binaryprefix=False, programname=None, serverpublickey=None, ssl=None, sslca=None, sslcert=None, ssldisabled=None, sslkey=None, sslkeypassword=None, sslverifycert=None, sslverifyidentity=None, compress=None, namedpipe=None, passwd=None, db=None)\n|      Initialize self.  See help(type(self)) for accurate signature.\n|\n|  affectedrows(self)\n|\n|  autocommit(self, value)\n|\n|  begin(self)\n|      Begin transaction.\n|\n|  charactersetname(self)\n|\n|  close(self)\n|      Send the quit message and close the socket.\n|\n|      See `Connection.close() <https://www.python.org/dev/peps/pep-0249/#Connection.close>`\n|      in the specification.\n|\n|      :raise Error: If the connection is already closed.\n|\n|  commit(self)\n|      Commit changes to stable storage.\n|\n|      See `Connection.commit() <https://www.python.org/dev/peps/pep-0249/#commit>`\n|      in the specification.\n|\n|  connect(self, sock=None)\n|\n|  cursor(self, cursor=None)\n|      Create a new cursor to execute queries with.\n|\n|      :param cursor: The type of cursor to create. None means use Cursor.\n|      :type cursor: :py:class:`Cursor`, :py:class:`SSCursor`, :py:class:`DictCursor`,\n|          or :py:class:`SSDictCursor`.\n|\n|  escape(self, obj, mapping=None)\n|      Escape whatever value is passed.\n|\n|      Non-standard, for internal use; do not use this in your applications.\n|\n|  escapestring(self, s)\n|\n|  getautocommit(self)\n|\n|  gethostinfo(self)\n|\n|  getprotoinfo(self)\n|\n|  getserverinfo(self)\n|\n|  insertid(self)\n|\n|  kill(self, threadid)\n|\n|  literal(self, obj)\n|      Alias for escape().\n|\n|      Non-standard, for internal use; do not use this in your applications.\n|\n|  nextresult(self, unbuffered=False)\n|\n|  ping(self, reconnect=False)\n|      Check if the server is alive.\n|\n|      `reconnect` is deprecated. Create a new connection if you want to reconnect.\n|\n|      :param reconnect: If the connection is closed, reconnect.\n|      :type reconnect: boolean\n|\n|      :raise Error: If the connection is closed and reconnect=False.\n|\n|  query(self, sql, unbuffered=False)\n|      # The following methods are INTERNAL USE ONLY (called from Cursor)\n|\n|  rollback(self)\n|      Roll back the current transaction.\n|\n|      See `Connection.rollback() <https://www.python.org/dev/peps/pep-0249/#rollback>`\n|      in the specification.\n|\n|  selectdb(self, db)\n|      Set current db.\n|\n|      :param db: The name of the db.\n|\n|  setcharacterset(self, charset, collation=None)\n|      Set charaset (and collation)\n|\n|      Send \"SET NAMES charset [COLLATE collation]\" query.\n|      Update Connection.encoding based on charset.\n|\n|  setcharset(self, charset)\n|      Deprecated. Use setcharacterset() instead.\n|\n|  showwarnings(self)\n|      Send the \"SHOW WARNINGS\" SQL command.\n|\n|  threadid(self)\n|      # mysql support\n|\n|  writepacket(self, payload)\n|      Writes an entire \"mysql packet\" in its entirety to the network\n|      adding its length and sequence number.\n|\n|  ----------------------------------------------------------------------\n|  Readonly properties defined here:\n|\n|  open\n|      Return True if the connection is open.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors defined here:\n|\n|  dict\n|      dictionary for instance variables (if defined)\n|\n|  weakref\n|      list of weak references to the object (if defined)\n|\n|  ----------------------------------------------------------------------\n|  Data and other attributes defined here:\n|\n|  DataError = <class 'pymysql.err.DataError'>\n|      Exception raised for errors that are due to problems with the\n|      processed data like division by zero, numeric value out of range,\n|      etc.\n|\n|\n|  DatabaseError = <class 'pymysql.err.DatabaseError'>\n|      Exception raised for errors that are related to the\n|      database.\n|\n|\n|  Error = <class 'pymysql.err.Error'>\n|      Exception that is the base class of all other error exceptions\n|      (not Warning).\n|\n|\n|  IntegrityError = <class 'pymysql.err.IntegrityError'>\n|      Exception raised when the relational integrity of the database\n|      is affected, e.g. a foreign key check fails, duplicate key,\n|      etc.\n|\n|\n|  InterfaceError = <class 'pymysql.err.InterfaceError'>\n|      Exception raised for errors that are related to the database\n|      interface rather than the database itself.\n|\n|\n|  InternalError = <class 'pymysql.err.InternalError'>\n|      Exception raised when the database encounters an internal\n|      error, e.g. the cursor is not valid anymore, the transaction is\n|      out of sync, etc.\n|\n|\n|  NotSupportedError = <class 'pymysql.err.NotSupportedError'>\n|      Exception raised in case a method or database API was used\n|      which is not supported by the database, e.g. requesting a\n|      .rollback() on a connection that does not support transaction or\n|      has transactions turned off.\n|\n|\n|  OperationalError = <class 'pymysql.err.OperationalError'>\n|      Exception raised for errors that are related to the database's\n|      operation and not necessarily under the control of the programmer,\n|      e.g. an unexpected disconnect occurs, the data source name is not\n|      found, a transaction could not be processed, a memory allocation\n|      error occurred during processing, etc.\n|\n|\n|  ProgrammingError = <class 'pymysql.err.ProgrammingError'>\n|      Exception raised for programming errors, e.g. table not found\n|      or already exists, syntax error in the SQL statement, wrong number\n|      of parameters specified, etc.\n|\n|\n|  Warning = <class 'pymysql.err.Warning'>\n|      Exception raised for important warnings like data truncations\n|      while inserting, etc.\n"
                    },
                    {
                        "name": "class DBAPISet",
                        "content": "|  Method resolution order:\n|      DBAPISet\n|      builtins.frozenset\n|      builtins.object\n|\n|  Methods defined here:\n|\n|  eq(self, other)\n|      Return self==value.\n|\n|  hash(self)\n|      Return hash(self).\n|\n|  ne(self, other)\n|      Return self!=value.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors defined here:\n|\n|  dict\n|      dictionary for instance variables (if defined)\n|\n|  ----------------------------------------------------------------------\n|  Methods inherited from builtins.frozenset:\n|\n|  and(self, value, /)\n|      Return self&value.\n|\n|  contains(...)\n|      x.contains(y) <==> y in x.\n|\n|  ge(self, value, /)\n|      Return self>=value.\n|\n|  getattribute(self, name, /)\n|      Return getattr(self, name).\n|\n|  gt(self, value, /)\n|      Return self>value.\n|\n|  iter(self, /)\n|      Implement iter(self).\n|\n|  le(self, value, /)\n|      Return self<=value.\n|\n|  len(self, /)\n|      Return len(self).\n|\n|  lt(self, value, /)\n|      Return self<value.\n|\n|  or(self, value, /)\n|      Return self|value.\n|\n|  rand(self, value, /)\n|      Return value&self.\n|\n|  reduce(...)\n|      Return state information for pickling.\n|\n|  repr(self, /)\n|      Return repr(self).\n|\n|  ror(self, value, /)\n|      Return value|self.\n|\n|  rsub(self, value, /)\n|      Return value-self.\n|\n|  rxor(self, value, /)\n|      Return value^self.\n|\n|  sizeof(...)\n|      S.sizeof() -> size of S in memory, in bytes\n|\n|  sub(self, value, /)\n|      Return self-value.\n|\n|  xor(self, value, /)\n|      Return self^value.\n|\n|  copy(...)\n|      Return a shallow copy of a set.\n|\n|  difference(...)\n|      Return the difference of two or more sets as a new set.\n|\n|      (i.e. all elements that are in this set but not the others.)\n|\n|  intersection(...)\n|      Return the intersection of two sets as a new set.\n|\n|      (i.e. all elements that are in both sets.)\n|\n|  isdisjoint(...)\n|      Return True if two sets have a null intersection.\n|\n|  issubset(...)\n|      Report whether another set contains this set.\n|\n|  issuperset(...)\n|      Report whether this set contains another set.\n|\n|  symmetricdifference(...)\n|      Return the symmetric difference of two sets as a new set.\n|\n|      (i.e. all elements that are in exactly one of the sets.)\n|\n|  union(...)\n|      Return the union of sets as a new set.\n|\n|      (i.e. all elements that are in either set.)\n|\n|  ----------------------------------------------------------------------\n|  Class methods inherited from builtins.frozenset:\n|\n|  classgetitem(...) from builtins.type\n|      See PEP 585\n|\n|  ----------------------------------------------------------------------\n|  Static methods inherited from builtins.frozenset:\n|\n|  new(*args, kwargs) from builtins.type\n|      Create and return a new object.  See help(type) for accurate signature.\n"
                    },
                    {
                        "name": "class DataError",
                        "content": "|  DataError(*args, sqlstate=None)\n|\n|  Exception raised for errors that are due to problems with the\n|  processed data like division by zero, numeric value out of range,\n|  etc.\n|\n|  Method resolution order:\n|      DataError\n|      DatabaseError\n|      Error\n|      MySQLError\n|      builtins.Exception\n|      builtins.BaseException\n|      builtins.object\n|\n|  Methods inherited from Error:\n|\n|  init(self, *args, sqlstate=None)\n|      Initialize self.  See help(type(self)) for accurate signature.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from MySQLError:\n|\n|  weakref\n|      list of weak references to the object (if defined)\n|\n|  ----------------------------------------------------------------------\n|  Static methods inherited from builtins.Exception:\n|\n|  new(*args, kwargs) from builtins.type\n|      Create and return a new object.  See help(type) for accurate signature.\n|\n|  ----------------------------------------------------------------------\n|  Methods inherited from builtins.BaseException:\n|\n|  delattr(self, name, /)\n|      Implement delattr(self, name).\n|\n|  getattribute(self, name, /)\n|      Return getattr(self, name).\n|\n|  reduce(...)\n|      Helper for pickle.\n|\n|  repr(self, /)\n|      Return repr(self).\n|\n|  setattr(self, name, value, /)\n|      Implement setattr(self, name, value).\n|\n|  setstate(...)\n|\n|  str(self, /)\n|      Return str(self).\n|\n|  withtraceback(...)\n|      Exception.withtraceback(tb) --\n|      set self.traceback to tb and return self.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from builtins.BaseException:\n|\n|  cause\n|      exception cause\n|\n|  context\n|      exception context\n|\n|  dict\n|\n|  suppresscontext\n|\n|  traceback\n|\n|  args\n"
                    },
                    {
                        "name": "class DatabaseError",
                        "content": "|  DatabaseError(*args, sqlstate=None)\n|\n|  Exception raised for errors that are related to the\n|  database.\n|\n|  Method resolution order:\n|      DatabaseError\n|      Error\n|      MySQLError\n|      builtins.Exception\n|      builtins.BaseException\n|      builtins.object\n|\n|  Methods inherited from Error:\n|\n|  init(self, *args, sqlstate=None)\n|      Initialize self.  See help(type(self)) for accurate signature.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from MySQLError:\n|\n|  weakref\n|      list of weak references to the object (if defined)\n|\n|  ----------------------------------------------------------------------\n|  Static methods inherited from builtins.Exception:\n|\n|  new(*args, kwargs) from builtins.type\n|      Create and return a new object.  See help(type) for accurate signature.\n|\n|  ----------------------------------------------------------------------\n|  Methods inherited from builtins.BaseException:\n|\n|  delattr(self, name, /)\n|      Implement delattr(self, name).\n|\n|  getattribute(self, name, /)\n|      Return getattr(self, name).\n|\n|  reduce(...)\n|      Helper for pickle.\n|\n|  repr(self, /)\n|      Return repr(self).\n|\n|  setattr(self, name, value, /)\n|      Implement setattr(self, name, value).\n|\n|  setstate(...)\n|\n|  str(self, /)\n|      Return str(self).\n|\n|  withtraceback(...)\n|      Exception.withtraceback(tb) --\n|      set self.traceback to tb and return self.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from builtins.BaseException:\n|\n|  cause\n|      exception cause\n|\n|  context\n|      exception context\n|\n|  dict\n|\n|  suppresscontext\n|\n|  traceback\n|\n|  args\n\nDate = class date(builtins.object)\n|  date(year, month, day) --> date object\n|\n|  Methods defined here:\n|\n|  add(self, value, /)\n|      Return self+value.\n|\n|  eq(self, value, /)\n|      Return self==value.\n|\n|  format(...)\n|      Formats self with strftime.\n|\n|  ge(self, value, /)\n|      Return self>=value.\n|\n|  getattribute(self, name, /)\n|      Return getattr(self, name).\n|\n|  gt(self, value, /)\n|      Return self>value.\n|\n|  hash(self, /)\n|      Return hash(self).\n|\n|  le(self, value, /)\n|      Return self<=value.\n|\n|  lt(self, value, /)\n|      Return self<value.\n|\n|  ne(self, value, /)\n|      Return self!=value.\n|\n|  radd(self, value, /)\n|      Return value+self.\n|\n|  reduce(...)\n|      reduce() -> (cls, state)\n|\n|  repr(self, /)\n|      Return repr(self).\n|\n|  rsub(self, value, /)\n|      Return value-self.\n|\n|  str(self, /)\n|      Return str(self).\n|\n|  sub(self, value, /)\n|      Return self-value.\n|\n|  ctime(...)\n|      Return ctime() style string.\n|\n|  isocalendar(...)\n|      Return a named tuple containing ISO year, week number, and weekday.\n|\n|  isoformat(...)\n|      Return string in ISO 8601 format, YYYY-MM-DD.\n|\n|  isoweekday(...)\n|      Return the day of the week represented by the date.\n|      Monday == 1 ... Sunday == 7\n|\n|  replace(...)\n|      Return date with new specified fields.\n|\n|  strftime(...)\n|      format -> strftime() style string.\n|\n|  timetuple(...)\n|      Return time tuple, compatible with time.localtime().\n|\n|  toordinal(...)\n|      Return proleptic Gregorian ordinal.  January 1 of year 1 is day 1.\n|\n|  weekday(...)\n|      Return the day of the week represented by the date.\n|      Monday == 0 ... Sunday == 6\n|\n|  ----------------------------------------------------------------------\n|  Class methods defined here:\n|\n|  fromisocalendar(...) from builtins.type\n|      int, int, int -> Construct a date from the ISO year, week number and weekday.\n|\n|      This is the inverse of the date.isocalendar() function\n|\n|  fromisoformat(...) from builtins.type\n|      str -> Construct a date from the output of date.isoformat()\n|\n|  fromordinal(...) from builtins.type\n|      int -> date corresponding to a proleptic Gregorian ordinal.\n|\n|  fromtimestamp(timestamp, /) from builtins.type\n|      Create a date from a POSIX timestamp.\n|\n|      The timestamp is a number, e.g. created via time.time(), that is interpreted\n|      as local time.\n|\n|  today(...) from builtins.type\n|      Current date or datetime:  same as self.class.fromtimestamp(time.time()).\n|\n|  ----------------------------------------------------------------------\n|  Static methods defined here:\n|\n|  new(*args, kwargs) from builtins.type\n|      Create and return a new object.  See help(type) for accurate signature.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors defined here:\n|\n|  day\n|\n|  month\n|\n|  year\n|\n|  ----------------------------------------------------------------------\n|  Data and other attributes defined here:\n|\n|  max = datetime.date(9999, 12, 31)\n|\n|  min = datetime.date(1, 1, 1)\n|\n|  resolution = datetime.timedelta(days=1)\n"
                    },
                    {
                        "name": "class Error",
                        "content": "|  Error(*args, sqlstate=None)\n|\n|  Exception that is the base class of all other error exceptions\n|  (not Warning).\n|\n|  Method resolution order:\n|      Error\n|      MySQLError\n|      builtins.Exception\n|      builtins.BaseException\n|      builtins.object\n|\n|  Methods defined here:\n|\n|  init(self, *args, sqlstate=None)\n|      Initialize self.  See help(type(self)) for accurate signature.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from MySQLError:\n|\n|  weakref\n|      list of weak references to the object (if defined)\n|\n|  ----------------------------------------------------------------------\n|  Static methods inherited from builtins.Exception:\n|\n|  new(*args, kwargs) from builtins.type\n|      Create and return a new object.  See help(type) for accurate signature.\n|\n|  ----------------------------------------------------------------------\n|  Methods inherited from builtins.BaseException:\n|\n|  delattr(self, name, /)\n|      Implement delattr(self, name).\n|\n|  getattribute(self, name, /)\n|      Return getattr(self, name).\n|\n|  reduce(...)\n|      Helper for pickle.\n|\n|  repr(self, /)\n|      Return repr(self).\n|\n|  setattr(self, name, value, /)\n|      Implement setattr(self, name, value).\n|\n|  setstate(...)\n|\n|  str(self, /)\n|      Return str(self).\n|\n|  withtraceback(...)\n|      Exception.withtraceback(tb) --\n|      set self.traceback to tb and return self.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from builtins.BaseException:\n|\n|  cause\n|      exception cause\n|\n|  context\n|      exception context\n|\n|  dict\n|\n|  suppresscontext\n|\n|  traceback\n|\n|  args\n"
                    },
                    {
                        "name": "class IntegrityError",
                        "content": "|  IntegrityError(*args, sqlstate=None)\n|\n|  Exception raised when the relational integrity of the database\n|  is affected, e.g. a foreign key check fails, duplicate key,\n|  etc.\n|\n|  Method resolution order:\n|      IntegrityError\n|      DatabaseError\n|      Error\n|      MySQLError\n|      builtins.Exception\n|      builtins.BaseException\n|      builtins.object\n|\n|  Methods inherited from Error:\n|\n|  init(self, *args, sqlstate=None)\n|      Initialize self.  See help(type(self)) for accurate signature.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from MySQLError:\n|\n|  weakref\n|      list of weak references to the object (if defined)\n|\n|  ----------------------------------------------------------------------\n|  Static methods inherited from builtins.Exception:\n|\n|  new(*args, kwargs) from builtins.type\n|      Create and return a new object.  See help(type) for accurate signature.\n|\n|  ----------------------------------------------------------------------\n|  Methods inherited from builtins.BaseException:\n|\n|  delattr(self, name, /)\n|      Implement delattr(self, name).\n|\n|  getattribute(self, name, /)\n|      Return getattr(self, name).\n|\n|  reduce(...)\n|      Helper for pickle.\n|\n|  repr(self, /)\n|      Return repr(self).\n|\n|  setattr(self, name, value, /)\n|      Implement setattr(self, name, value).\n|\n|  setstate(...)\n|\n|  str(self, /)\n|      Return str(self).\n|\n|  withtraceback(...)\n|      Exception.withtraceback(tb) --\n|      set self.traceback to tb and return self.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from builtins.BaseException:\n|\n|  cause\n|      exception cause\n|\n|  context\n|      exception context\n|\n|  dict\n|\n|  suppresscontext\n|\n|  traceback\n|\n|  args\n"
                    },
                    {
                        "name": "class InterfaceError",
                        "content": "|  InterfaceError(*args, sqlstate=None)\n|\n|  Exception raised for errors that are related to the database\n|  interface rather than the database itself.\n|\n|  Method resolution order:\n|      InterfaceError\n|      Error\n|      MySQLError\n|      builtins.Exception\n|      builtins.BaseException\n|      builtins.object\n|\n|  Methods inherited from Error:\n|\n|  init(self, *args, sqlstate=None)\n|      Initialize self.  See help(type(self)) for accurate signature.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from MySQLError:\n|\n|  weakref\n|      list of weak references to the object (if defined)\n|\n|  ----------------------------------------------------------------------\n|  Static methods inherited from builtins.Exception:\n|\n|  new(*args, kwargs) from builtins.type\n|      Create and return a new object.  See help(type) for accurate signature.\n|\n|  ----------------------------------------------------------------------\n|  Methods inherited from builtins.BaseException:\n|\n|  delattr(self, name, /)\n|      Implement delattr(self, name).\n|\n|  getattribute(self, name, /)\n|      Return getattr(self, name).\n|\n|  reduce(...)\n|      Helper for pickle.\n|\n|  repr(self, /)\n|      Return repr(self).\n|\n|  setattr(self, name, value, /)\n|      Implement setattr(self, name, value).\n|\n|  setstate(...)\n|\n|  str(self, /)\n|      Return str(self).\n|\n|  withtraceback(...)\n|      Exception.withtraceback(tb) --\n|      set self.traceback to tb and return self.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from builtins.BaseException:\n|\n|  cause\n|      exception cause\n|\n|  context\n|      exception context\n|\n|  dict\n|\n|  suppresscontext\n|\n|  traceback\n|\n|  args\n"
                    },
                    {
                        "name": "class InternalError",
                        "content": "|  InternalError(*args, sqlstate=None)\n|\n|  Exception raised when the database encounters an internal\n|  error, e.g. the cursor is not valid anymore, the transaction is\n|  out of sync, etc.\n|\n|  Method resolution order:\n|      InternalError\n|      DatabaseError\n|      Error\n|      MySQLError\n|      builtins.Exception\n|      builtins.BaseException\n|      builtins.object\n|\n|  Methods inherited from Error:\n|\n|  init(self, *args, sqlstate=None)\n|      Initialize self.  See help(type(self)) for accurate signature.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from MySQLError:\n|\n|  weakref\n|      list of weak references to the object (if defined)\n|\n|  ----------------------------------------------------------------------\n|  Static methods inherited from builtins.Exception:\n|\n|  new(*args, kwargs) from builtins.type\n|      Create and return a new object.  See help(type) for accurate signature.\n|\n|  ----------------------------------------------------------------------\n|  Methods inherited from builtins.BaseException:\n|\n|  delattr(self, name, /)\n|      Implement delattr(self, name).\n|\n|  getattribute(self, name, /)\n|      Return getattr(self, name).\n|\n|  reduce(...)\n|      Helper for pickle.\n|\n|  repr(self, /)\n|      Return repr(self).\n|\n|  setattr(self, name, value, /)\n|      Implement setattr(self, name, value).\n|\n|  setstate(...)\n|\n|  str(self, /)\n|      Return str(self).\n|\n|  withtraceback(...)\n|      Exception.withtraceback(tb) --\n|      set self.traceback to tb and return self.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from builtins.BaseException:\n|\n|  cause\n|      exception cause\n|\n|  context\n|      exception context\n|\n|  dict\n|\n|  suppresscontext\n|\n|  traceback\n|\n|  args\n"
                    },
                    {
                        "name": "class MySQLError",
                        "content": "|  Exception related to operation with MySQL.\n|\n|  Method resolution order:\n|      MySQLError\n|      builtins.Exception\n|      builtins.BaseException\n|      builtins.object\n|\n|  Data descriptors defined here:\n|\n|  weakref\n|      list of weak references to the object (if defined)\n|\n|  ----------------------------------------------------------------------\n|  Methods inherited from builtins.Exception:\n|\n|  init(self, /, *args, kwargs)\n|      Initialize self.  See help(type(self)) for accurate signature.\n|\n|  ----------------------------------------------------------------------\n|  Static methods inherited from builtins.Exception:\n|\n|  new(*args, kwargs) from builtins.type\n|      Create and return a new object.  See help(type) for accurate signature.\n|\n|  ----------------------------------------------------------------------\n|  Methods inherited from builtins.BaseException:\n|\n|  delattr(self, name, /)\n|      Implement delattr(self, name).\n|\n|  getattribute(self, name, /)\n|      Return getattr(self, name).\n|\n|  reduce(...)\n|      Helper for pickle.\n|\n|  repr(self, /)\n|      Return repr(self).\n|\n|  setattr(self, name, value, /)\n|      Implement setattr(self, name, value).\n|\n|  setstate(...)\n|\n|  str(self, /)\n|      Return str(self).\n|\n|  withtraceback(...)\n|      Exception.withtraceback(tb) --\n|      set self.traceback to tb and return self.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from builtins.BaseException:\n|\n|  cause\n|      exception cause\n|\n|  context\n|      exception context\n|\n|  dict\n|\n|  suppresscontext\n|\n|  traceback\n|\n|  args\n"
                    },
                    {
                        "name": "class NotSupportedError",
                        "content": "|  NotSupportedError(*args, sqlstate=None)\n|\n|  Exception raised in case a method or database API was used\n|  which is not supported by the database, e.g. requesting a\n|  .rollback() on a connection that does not support transaction or\n|  has transactions turned off.\n|\n|  Method resolution order:\n|      NotSupportedError\n|      DatabaseError\n|      Error\n|      MySQLError\n|      builtins.Exception\n|      builtins.BaseException\n|      builtins.object\n|\n|  Methods inherited from Error:\n|\n|  init(self, *args, sqlstate=None)\n|      Initialize self.  See help(type(self)) for accurate signature.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from MySQLError:\n|\n|  weakref\n|      list of weak references to the object (if defined)\n|\n|  ----------------------------------------------------------------------\n|  Static methods inherited from builtins.Exception:\n|\n|  new(*args, kwargs) from builtins.type\n|      Create and return a new object.  See help(type) for accurate signature.\n|\n|  ----------------------------------------------------------------------\n|  Methods inherited from builtins.BaseException:\n|\n|  delattr(self, name, /)\n|      Implement delattr(self, name).\n|\n|  getattribute(self, name, /)\n|      Return getattr(self, name).\n|\n|  reduce(...)\n|      Helper for pickle.\n|\n|  repr(self, /)\n|      Return repr(self).\n|\n|  setattr(self, name, value, /)\n|      Implement setattr(self, name, value).\n|\n|  setstate(...)\n|\n|  str(self, /)\n|      Return str(self).\n|\n|  withtraceback(...)\n|      Exception.withtraceback(tb) --\n|      set self.traceback to tb and return self.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from builtins.BaseException:\n|\n|  cause\n|      exception cause\n|\n|  context\n|      exception context\n|\n|  dict\n|\n|  suppresscontext\n|\n|  traceback\n|\n|  args\n"
                    },
                    {
                        "name": "class OperationalError",
                        "content": "|  OperationalError(*args, sqlstate=None)\n|\n|  Exception raised for errors that are related to the database's\n|  operation and not necessarily under the control of the programmer,\n|  e.g. an unexpected disconnect occurs, the data source name is not\n|  found, a transaction could not be processed, a memory allocation\n|  error occurred during processing, etc.\n|\n|  Method resolution order:\n|      OperationalError\n|      DatabaseError\n|      Error\n|      MySQLError\n|      builtins.Exception\n|      builtins.BaseException\n|      builtins.object\n|\n|  Methods inherited from Error:\n|\n|  init(self, *args, sqlstate=None)\n|      Initialize self.  See help(type(self)) for accurate signature.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from MySQLError:\n|\n|  weakref\n|      list of weak references to the object (if defined)\n|\n|  ----------------------------------------------------------------------\n|  Static methods inherited from builtins.Exception:\n|\n|  new(*args, kwargs) from builtins.type\n|      Create and return a new object.  See help(type) for accurate signature.\n|\n|  ----------------------------------------------------------------------\n|  Methods inherited from builtins.BaseException:\n|\n|  delattr(self, name, /)\n|      Implement delattr(self, name).\n|\n|  getattribute(self, name, /)\n|      Return getattr(self, name).\n|\n|  reduce(...)\n|      Helper for pickle.\n|\n|  repr(self, /)\n|      Return repr(self).\n|\n|  setattr(self, name, value, /)\n|      Implement setattr(self, name, value).\n|\n|  setstate(...)\n|\n|  str(self, /)\n|      Return str(self).\n|\n|  withtraceback(...)\n|      Exception.withtraceback(tb) --\n|      set self.traceback to tb and return self.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from builtins.BaseException:\n|\n|  cause\n|      exception cause\n|\n|  context\n|      exception context\n|\n|  dict\n|\n|  suppresscontext\n|\n|  traceback\n|\n|  args\n"
                    },
                    {
                        "name": "class ProgrammingError",
                        "content": "|  ProgrammingError(*args, sqlstate=None)\n|\n|  Exception raised for programming errors, e.g. table not found\n|  or already exists, syntax error in the SQL statement, wrong number\n|  of parameters specified, etc.\n|\n|  Method resolution order:\n|      ProgrammingError\n|      DatabaseError\n|      Error\n|      MySQLError\n|      builtins.Exception\n|      builtins.BaseException\n|      builtins.object\n|\n|  Methods inherited from Error:\n|\n|  init(self, *args, sqlstate=None)\n|      Initialize self.  See help(type(self)) for accurate signature.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from MySQLError:\n|\n|  weakref\n|      list of weak references to the object (if defined)\n|\n|  ----------------------------------------------------------------------\n|  Static methods inherited from builtins.Exception:\n|\n|  new(*args, kwargs) from builtins.type\n|      Create and return a new object.  See help(type) for accurate signature.\n|\n|  ----------------------------------------------------------------------\n|  Methods inherited from builtins.BaseException:\n|\n|  delattr(self, name, /)\n|      Implement delattr(self, name).\n|\n|  getattribute(self, name, /)\n|      Return getattr(self, name).\n|\n|  reduce(...)\n|      Helper for pickle.\n|\n|  repr(self, /)\n|      Return repr(self).\n|\n|  setattr(self, name, value, /)\n|      Implement setattr(self, name, value).\n|\n|  setstate(...)\n|\n|  str(self, /)\n|      Return str(self).\n|\n|  withtraceback(...)\n|      Exception.withtraceback(tb) --\n|      set self.traceback to tb and return self.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from builtins.BaseException:\n|\n|  cause\n|      exception cause\n|\n|  context\n|      exception context\n|\n|  dict\n|\n|  suppresscontext\n|\n|  traceback\n|\n|  args\n\nTime = class time(builtins.object)\n|  time([hour[, minute[, second[, microsecond[, tzinfo]]]]]) --> a time object\n|\n|  All arguments are optional. tzinfo may be None, or an instance of\n|  a tzinfo subclass. The remaining arguments may be ints.\n|\n|  Methods defined here:\n|\n|  eq(self, value, /)\n|      Return self==value.\n|\n|  format(...)\n|      Formats self with strftime.\n|\n|  ge(self, value, /)\n|      Return self>=value.\n|\n|  getattribute(self, name, /)\n|      Return getattr(self, name).\n|\n|  gt(self, value, /)\n|      Return self>value.\n|\n|  hash(self, /)\n|      Return hash(self).\n|\n|  le(self, value, /)\n|      Return self<=value.\n|\n|  lt(self, value, /)\n|      Return self<value.\n|\n|  ne(self, value, /)\n|      Return self!=value.\n|\n|  reduce(...)\n|      reduce() -> (cls, state)\n|\n|  reduceex(...)\n|      reduceex(proto) -> (cls, state)\n|\n|  repr(self, /)\n|      Return repr(self).\n|\n|  str(self, /)\n|      Return str(self).\n|\n|  dst(...)\n|      Return self.tzinfo.dst(self).\n|\n|  isoformat(...)\n|      Return string in ISO 8601 format, [HH[:MM[:SS[.mmm[uuu]]]]][+HH:MM].\n|\n|      The optional argument timespec specifies the number of additional terms\n|      of the time to include. Valid options are 'auto', 'hours', 'minutes',\n|      'seconds', 'milliseconds' and 'microseconds'.\n|\n|  replace(...)\n|      Return time with new specified fields.\n|\n|  strftime(...)\n|      format -> strftime() style string.\n|\n|  tzname(...)\n|      Return self.tzinfo.tzname(self).\n|\n|  utcoffset(...)\n|      Return self.tzinfo.utcoffset(self).\n|\n|  ----------------------------------------------------------------------\n|  Class methods defined here:\n|\n|  fromisoformat(...) from builtins.type\n|      string -> time from time.isoformat() output\n|\n|  ----------------------------------------------------------------------\n|  Static methods defined here:\n|\n|  new(*args, kwargs) from builtins.type\n|      Create and return a new object.  See help(type) for accurate signature.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors defined here:\n|\n|  fold\n|\n|  hour\n|\n|  microsecond\n|\n|  minute\n|\n|  second\n|\n|  tzinfo\n|\n|  ----------------------------------------------------------------------\n|  Data and other attributes defined here:\n|\n|  max = datetime.time(23, 59, 59, 999999)\n|\n|  min = datetime.time(0, 0)\n|\n|  resolution = datetime.timedelta(microseconds=1)\n\nTimestamp = class datetime(date)\n|  datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])\n|\n|  The year, month and day arguments are required. tzinfo may be None, or an\n|  instance of a tzinfo subclass. The remaining arguments may be ints.\n|\n|  Method resolution order:\n|      datetime\n|      date\n|      builtins.object\n|\n|  Methods defined here:\n|\n|  add(self, value, /)\n|      Return self+value.\n|\n|  eq(self, value, /)\n|      Return self==value.\n|\n|  ge(self, value, /)\n|      Return self>=value.\n|\n|  getattribute(self, name, /)\n|      Return getattr(self, name).\n|\n|  gt(self, value, /)\n|      Return self>value.\n|\n|  hash(self, /)\n|      Return hash(self).\n|\n|  le(self, value, /)\n|      Return self<=value.\n|\n|  lt(self, value, /)\n|      Return self<value.\n|\n|  ne(self, value, /)\n|      Return self!=value.\n|\n|  radd(self, value, /)\n|      Return value+self.\n|\n|  reduce(...)\n|      reduce() -> (cls, state)\n|\n|  reduceex(...)\n|      reduceex(proto) -> (cls, state)\n|\n|  repr(self, /)\n|      Return repr(self).\n|\n|  rsub(self, value, /)\n|      Return value-self.\n|\n|  str(self, /)\n|      Return str(self).\n|\n|  sub(self, value, /)\n|      Return self-value.\n|\n|  astimezone(...)\n|      tz -> convert to local time in new timezone tz\n|\n|  ctime(...)\n|      Return ctime() style string.\n|\n|  date(...)\n|      Return date object with same year, month and day.\n|\n|  dst(...)\n|      Return self.tzinfo.dst(self).\n|\n|  isoformat(...)\n|      [sep] -> string in ISO 8601 format, YYYY-MM-DDT[HH[:MM[:SS[.mmm[uuu]]]]][+HH:MM].\n|      sep is used to separate the year from the time, and defaults to 'T'.\n|      The optional argument timespec specifies the number of additional terms\n|      of the time to include. Valid options are 'auto', 'hours', 'minutes',\n|      'seconds', 'milliseconds' and 'microseconds'.\n|\n|  replace(...)\n|      Return datetime with new specified fields.\n|\n|  time(...)\n|      Return time object with same time but with tzinfo=None.\n|\n|  timestamp(...)\n|      Return POSIX timestamp as float.\n|\n|  timetuple(...)\n|      Return time tuple, compatible with time.localtime().\n|\n|  timetz(...)\n|      Return time object with same time and tzinfo.\n|\n|  tzname(...)\n|      Return self.tzinfo.tzname(self).\n|\n|  utcoffset(...)\n|      Return self.tzinfo.utcoffset(self).\n|\n|  utctimetuple(...)\n|      Return UTC time tuple, compatible with time.localtime().\n|\n|  ----------------------------------------------------------------------\n|  Class methods defined here:\n|\n|  combine(...) from builtins.type\n|      date, time -> datetime with same date and time fields\n|\n|  fromisoformat(...) from builtins.type\n|      string -> datetime from datetime.isoformat() output\n|\n|  fromtimestamp(...) from builtins.type\n|      timestamp[, tz] -> tz's local time from POSIX timestamp.\n|\n|  now(tz=None) from builtins.type\n|      Returns new datetime object representing current time local to tz.\n|\n|        tz\n|          Timezone object.\n|\n|      If no tz is specified, uses local timezone.\n|\n|  strptime(...) from builtins.type\n|      string, format -> new datetime parsed from a string (like time.strptime()).\n|\n|  utcfromtimestamp(...) from builtins.type\n|      Construct a naive UTC datetime from a POSIX timestamp.\n|\n|  utcnow(...) from builtins.type\n|      Return a new datetime representing UTC day and time.\n|\n|  ----------------------------------------------------------------------\n|  Static methods defined here:\n|\n|  new(*args, kwargs) from builtins.type\n|      Create and return a new object.  See help(type) for accurate signature.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors defined here:\n|\n|  fold\n|\n|  hour\n|\n|  microsecond\n|\n|  minute\n|\n|  second\n|\n|  tzinfo\n|\n|  ----------------------------------------------------------------------\n|  Data and other attributes defined here:\n|\n|  max = datetime.datetime(9999, 12, 31, 23, 59, 59, 999999)\n|\n|  min = datetime.datetime(1, 1, 1, 0, 0)\n|\n|  resolution = datetime.timedelta(microseconds=1)\n|\n|  ----------------------------------------------------------------------\n|  Methods inherited from date:\n|\n|  format(...)\n|      Formats self with strftime.\n|\n|  isocalendar(...)\n|      Return a named tuple containing ISO year, week number, and weekday.\n|\n|  isoweekday(...)\n|      Return the day of the week represented by the date.\n|      Monday == 1 ... Sunday == 7\n|\n|  strftime(...)\n|      format -> strftime() style string.\n|\n|  toordinal(...)\n|      Return proleptic Gregorian ordinal.  January 1 of year 1 is day 1.\n|\n|  weekday(...)\n|      Return the day of the week represented by the date.\n|      Monday == 0 ... Sunday == 6\n|\n|  ----------------------------------------------------------------------\n|  Class methods inherited from date:\n|\n|  fromisocalendar(...) from builtins.type\n|      int, int, int -> Construct a date from the ISO year, week number and weekday.\n|\n|      This is the inverse of the date.isocalendar() function\n|\n|  fromordinal(...) from builtins.type\n|      int -> date corresponding to a proleptic Gregorian ordinal.\n|\n|  today(...) from builtins.type\n|      Current date or datetime:  same as self.class.fromtimestamp(time.time()).\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from date:\n|\n|  day\n|\n|  month\n|\n|  year\n"
                    },
                    {
                        "name": "class Warning",
                        "content": "|  Exception raised for important warnings like data truncations\n|  while inserting, etc.\n|\n|  Method resolution order:\n|      Warning\n|      builtins.Warning\n|      MySQLError\n|      builtins.Exception\n|      builtins.BaseException\n|      builtins.object\n|\n|  Data descriptors defined here:\n|\n|  weakref\n|      list of weak references to the object (if defined)\n|\n|  ----------------------------------------------------------------------\n|  Methods inherited from builtins.Warning:\n|\n|  init(self, /, *args, kwargs)\n|      Initialize self.  See help(type(self)) for accurate signature.\n|\n|  ----------------------------------------------------------------------\n|  Static methods inherited from builtins.Warning:\n|\n|  new(*args, kwargs) from builtins.type\n|      Create and return a new object.  See help(type) for accurate signature.\n|\n|  ----------------------------------------------------------------------\n|  Methods inherited from builtins.BaseException:\n|\n|  delattr(self, name, /)\n|      Implement delattr(self, name).\n|\n|  getattribute(self, name, /)\n|      Return getattr(self, name).\n|\n|  reduce(...)\n|      Helper for pickle.\n|\n|  repr(self, /)\n|      Return repr(self).\n|\n|  setattr(self, name, value, /)\n|      Implement setattr(self, name, value).\n|\n|  setstate(...)\n|\n|  str(self, /)\n|      Return str(self).\n|\n|  withtraceback(...)\n|      Exception.withtraceback(tb) --\n|      set self.traceback to tb and return self.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from builtins.BaseException:\n|\n|  cause\n|      exception cause\n|\n|  context\n|      exception context\n|\n|  dict\n|\n|  suppresscontext\n|\n|  traceback\n|\n|  args\n\nconnect = class Connection(builtins.object)\n|  connect(*, user=None, password='', host=None, database=None, unixsocket=None, port=0, charset='', collation=None, sqlmode=None, readdefaultfile=None, conv=None, useunicode=True, clientflag=0, cursorclass=<class 'pymysql.cursors.Cursor'>, initcommand=None, connecttimeout=10, readdefaultgroup=None, autocommit=False, localinfile=False, maxallowedpacket=16777216, deferconnect=False, authpluginmap=None, readtimeout=None, writetimeout=None, bindaddress=None, binaryprefix=False, programname=None, serverpublickey=None, ssl=None, sslca=None, sslcert=None, ssldisabled=None, sslkey=None, sslkeypassword=None, sslverifycert=None, sslverifyidentity=None, compress=None, namedpipe=None, passwd=None, db=None)\n|\n|  Representation of a socket with a mysql server.\n|\n|  The proper way to get an instance of this class is to call\n|  connect().\n|\n|  Establish a connection to the MySQL database. Accepts several\n|  arguments:\n|\n|  :param host: Host where the database server is located.\n|  :param user: Username to log in as.\n|  :param password: Password to use.\n|  :param database: Database to use, None to not use a particular one.\n|  :param port: MySQL port to use, default is usually OK. (default: 3306)\n|  :param bindaddress: When the client has multiple network interfaces, specify\n|      the interface from which to connect to the host. Argument can be\n|      a hostname or an IP address.\n|  :param unixsocket: Use a unix socket rather than TCP/IP.\n|  :param readtimeout: The timeout for reading from the connection in seconds.\n|      (default: None - no timeout)\n|  :param writetimeout: The timeout for writing to the connection in seconds.\n|      (default: None - no timeout)\n|  :param str charset: Charset to use.\n|  :param str collation: Collation name to use.\n|  :param sqlmode: Default SQLMODE to use.\n|  :param readdefaultfile:\n|      Specifies  my.cnf file to read these parameters from under the [client] section.\n|  :param conv:\n|      Conversion dictionary to use instead of the default one.\n|      This is used to provide custom marshalling and unmarshalling of types.\n|      See converters.\n|  :param useunicode:\n|      Whether or not to default to unicode strings.\n|      This option defaults to true.\n|  :param clientflag: Custom flags to send to MySQL. Find potential values in constants.CLIENT.\n|  :param cursorclass: Custom cursor class to use.\n|  :param initcommand: Initial SQL statement to run when connection is established.\n|  :param connecttimeout: The timeout for connecting to the database in seconds.\n|      (default: 10, min: 1, max: 31536000)\n|  :param ssl: An ssl.SSLContext, or a dict of arguments similar to mysqlsslset()'s parameters.\n|      Passing a dict is deprecated; use the individual ``ssl*`` parameters or an\n|      ``ssl.SSLContext`` instead.\n|  :param sslca: Path to the file that contains a PEM-formatted CA certificate.\n|  :param sslcert: Path to the file that contains a PEM-formatted client certificate.\n|  :param ssldisabled: A boolean value that disables usage of TLS. Unlike other SSL options,\n|      setting this to True explicitly prohibits the use of TLS, even if the server supports it.\n|  :param sslkey: Path to the file that contains a PEM-formatted private key for\n|      the client certificate.\n|  :param sslkeypassword: The password for the client certificate private key.\n|  :param sslverifycert: Set to true to check the server certificate's validity.\n|  :param sslverifyidentity: Set to true to check the server's identity.\n|  :param readdefaultgroup: Group to read from in the configuration file.\n|  :param autocommit: Autocommit mode. None means use server default. (default: False)\n|  :param localinfile: Boolean to enable the use of LOAD DATA LOCAL command. (default: False)\n|  :param maxallowedpacket: Max size of packet sent to server in bytes. (default: 16MB)\n|      Only used to limit size of \"LOAD LOCAL INFILE\" data packet smaller than default (16KB).\n|  :param deferconnect: Don't explicitly connect on construction - wait for connect call.\n|      (default: False)\n|  :param authpluginmap: A dict of plugin names to a class that processes that plugin.\n|      The class will take the Connection object as the argument to the constructor.\n|      The class needs an authenticate method taking an authentication packet as\n|      an argument.  For the dialog plugin, a prompt(echo, prompt) method can be used\n|      (if no authenticate method) for returning a string from the user. (experimental)\n|  :param serverpublickey: SHA256 authentication plugin public key value. (default: None)\n|  :param binaryprefix: Add binary prefix on bytes and bytearray. (default: False)\n|  :param compress: Not supported.\n|  :param namedpipe: Not supported.\n|  :param db: DEPRECATED Alias for database.\n|  :param passwd: DEPRECATED Alias for password.\n|\n|  See `Connection <https://www.python.org/dev/peps/pep-0249/#connection-objects>` in the\n|  specification.\n|\n|  Methods defined here:\n|\n|  del = forceclose(self)\n|\n|  enter(self)\n|\n|  exit(self, *excinfo)\n|\n|  init(self, *, user=None, password='', host=None, database=None, unixsocket=None, port=0, charset='', collation=None, sqlmode=None, readdefaultfile=None, conv=None, useunicode=True, clientflag=0, cursorclass=<class 'pymysql.cursors.Cursor'>, initcommand=None, connecttimeout=10, readdefaultgroup=None, autocommit=False, localinfile=False, maxallowedpacket=16777216, deferconnect=False, authpluginmap=None, readtimeout=None, writetimeout=None, bindaddress=None, binaryprefix=False, programname=None, serverpublickey=None, ssl=None, sslca=None, sslcert=None, ssldisabled=None, sslkey=None, sslkeypassword=None, sslverifycert=None, sslverifyidentity=None, compress=None, namedpipe=None, passwd=None, db=None)\n|      Initialize self.  See help(type(self)) for accurate signature.\n|\n|  affectedrows(self)\n|\n|  autocommit(self, value)\n|\n|  begin(self)\n|      Begin transaction.\n|\n|  charactersetname(self)\n|\n|  close(self)\n|      Send the quit message and close the socket.\n|\n|      See `Connection.close() <https://www.python.org/dev/peps/pep-0249/#Connection.close>`\n|      in the specification.\n|\n|      :raise Error: If the connection is already closed.\n|\n|  commit(self)\n|      Commit changes to stable storage.\n|\n|      See `Connection.commit() <https://www.python.org/dev/peps/pep-0249/#commit>`\n|      in the specification.\n|\n|  connect(self, sock=None)\n|\n|  cursor(self, cursor=None)\n|      Create a new cursor to execute queries with.\n|\n|      :param cursor: The type of cursor to create. None means use Cursor.\n|      :type cursor: :py:class:`Cursor`, :py:class:`SSCursor`, :py:class:`DictCursor`,\n|          or :py:class:`SSDictCursor`.\n|\n|  escape(self, obj, mapping=None)\n|      Escape whatever value is passed.\n|\n|      Non-standard, for internal use; do not use this in your applications.\n|\n|  escapestring(self, s)\n|\n|  getautocommit(self)\n|\n|  gethostinfo(self)\n|\n|  getprotoinfo(self)\n|\n|  getserverinfo(self)\n|\n|  insertid(self)\n|\n|  kill(self, threadid)\n|\n|  literal(self, obj)\n|      Alias for escape().\n|\n|      Non-standard, for internal use; do not use this in your applications.\n|\n|  nextresult(self, unbuffered=False)\n|\n|  ping(self, reconnect=False)\n|      Check if the server is alive.\n|\n|      `reconnect` is deprecated. Create a new connection if you want to reconnect.\n|\n|      :param reconnect: If the connection is closed, reconnect.\n|      :type reconnect: boolean\n|\n|      :raise Error: If the connection is closed and reconnect=False.\n|\n|  query(self, sql, unbuffered=False)\n|      # The following methods are INTERNAL USE ONLY (called from Cursor)\n|\n|  rollback(self)\n|      Roll back the current transaction.\n|\n|      See `Connection.rollback() <https://www.python.org/dev/peps/pep-0249/#rollback>`\n|      in the specification.\n|\n|  selectdb(self, db)\n|      Set current db.\n|\n|      :param db: The name of the db.\n|\n|  setcharacterset(self, charset, collation=None)\n|      Set charaset (and collation)\n|\n|      Send \"SET NAMES charset [COLLATE collation]\" query.\n|      Update Connection.encoding based on charset.\n|\n|  setcharset(self, charset)\n|      Deprecated. Use setcharacterset() instead.\n|\n|  showwarnings(self)\n|      Send the \"SHOW WARNINGS\" SQL command.\n|\n|  threadid(self)\n|      # mysql support\n|\n|  writepacket(self, payload)\n|      Writes an entire \"mysql packet\" in its entirety to the network\n|      adding its length and sequence number.\n|\n|  ----------------------------------------------------------------------\n|  Readonly properties defined here:\n|\n|  open\n|      Return True if the connection is open.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors defined here:\n|\n|  dict\n|      dictionary for instance variables (if defined)\n|\n|  weakref\n|      list of weak references to the object (if defined)\n|\n|  ----------------------------------------------------------------------\n|  Data and other attributes defined here:\n|\n|  DataError = <class 'pymysql.err.DataError'>\n|      Exception raised for errors that are due to problems with the\n|      processed data like division by zero, numeric value out of range,\n|      etc.\n|\n|\n|  DatabaseError = <class 'pymysql.err.DatabaseError'>\n|      Exception raised for errors that are related to the\n|      database.\n|\n|\n|  Error = <class 'pymysql.err.Error'>\n|      Exception that is the base class of all other error exceptions\n|      (not Warning).\n|\n|\n|  IntegrityError = <class 'pymysql.err.IntegrityError'>\n|      Exception raised when the relational integrity of the database\n|      is affected, e.g. a foreign key check fails, duplicate key,\n|      etc.\n|\n|\n|  InterfaceError = <class 'pymysql.err.InterfaceError'>\n|      Exception raised for errors that are related to the database\n|      interface rather than the database itself.\n|\n|\n|  InternalError = <class 'pymysql.err.InternalError'>\n|      Exception raised when the database encounters an internal\n|      error, e.g. the cursor is not valid anymore, the transaction is\n|      out of sync, etc.\n|\n|\n|  NotSupportedError = <class 'pymysql.err.NotSupportedError'>\n|      Exception raised in case a method or database API was used\n|      which is not supported by the database, e.g. requesting a\n|      .rollback() on a connection that does not support transaction or\n|      has transactions turned off.\n|\n|\n|  OperationalError = <class 'pymysql.err.OperationalError'>\n|      Exception raised for errors that are related to the database's\n|      operation and not necessarily under the control of the programmer,\n|      e.g. an unexpected disconnect occurs, the data source name is not\n|      found, a transaction could not be processed, a memory allocation\n|      error occurred during processing, etc.\n|\n|\n|  ProgrammingError = <class 'pymysql.err.ProgrammingError'>\n|      Exception raised for programming errors, e.g. table not found\n|      or already exists, syntax error in the SQL statement, wrong number\n|      of parameters specified, etc.\n|\n|\n|  Warning = <class 'pymysql.err.Warning'>\n|      Exception raised for important warnings like data truncations\n|      while inserting, etc.\n"
                    }
                ]
            },
            "FUNCTIONS": {
                "content": "Binary(x)\nReturn x as a binary type.\n\nDateFromTicks(ticks)\n\nTimeFromTicks(ticks)\n\nTimestampFromTicks(ticks)\n",
                "subsections": [
                    {
                        "name": "get_client_info",
                        "content": ""
                    },
                    {
                        "name": "install_as_MySQLdb",
                        "content": "After this function is called, any application that imports MySQLdb\nwill unwittingly actually use pymysql.\n"
                    }
                ]
            },
            "DATA": {
                "content": "BINARY = DBAPISet({249, 250, 251, 252})\nDATE = DBAPISet({10, 14})\nNULL = 'NULL'\nNUMBER = DBAPISet({0, 1, 3, 4, 5, 8, 9, 13})\nROWID = DBAPISet()\nSTRING = DBAPISet({253, 254, 247})\nTIME = DBAPISet({11})\nTIMESTAMP = DBAPISet({12, 7})\nall = ['BINARY', 'Binary', 'Connect', 'Connection', 'DATE', 'Date'...\napilevel = '2.0'\nparamstyle = 'pyformat'\nthreadsafety = 1\nversioninfo = (2, 2, 8, 'final', 1)\n",
                "subsections": []
            },
            "VERSION": {
                "content": "2.2.8\n",
                "subsections": []
            },
            "FILE": {
                "content": "/home/chedong/.local/lib/python3.10/site-packages/pymysql/init.py\n\n",
                "subsections": []
            }
        }
    }
}