code: def _execute(self, sql, args):
          
          sql = sql.lower().strip()
          args = args or ()
          tmp = sql[:6]
          with (yield self._pool.Connection()) as conn:
              try:
                  with conn.cursor() as cursor:
                      yield cursor.execute(sql, args=args)
                      if tmp == 'select':
                          datas = cursor.fetchall()   
                          return datas
              except Exception as e:
                  err = traceback.format_exc()
                  print(err)
                  if tmp in ['insert', 'update', 'delete']:
                      yield conn.rollback()
              else:
                  if tmp == 'insert':
                      insertId = conn.insert_id()
                      yield conn.commit()
                      # 返回插入的主键id
                      return insertId
                  elif tmp in ['update', 'delete']:
                      yield conn.commit()
docs: 执行sql语句
          :param sql: sql语句
          :param args: 参数
          :return: 返回的都是数组对象