code: def select(self, select, table_name, where=None, extra=None):
          
  
          self.verify_table_existence(table_name)
  
          return self.execute_query(
              six.text_type(Select(select, table_name, where, extra)),
              logging.getLogger().findCaller(),
          )
docs: Send a SELECT query to the database.
  
          :param str select: Attribute for the ``SELECT`` query.
          :param str table_name: |arg_select_table_name|
          :param where: |arg_select_where|
          :type where: |arg_where_type|
          :param str extra: |arg_select_extra|
          :return: Result of the query execution.
          :rtype: sqlite3.Cursor
          :raises simplesqlite.NullDatabaseConnectionError:
              |raises_check_connection|
          :raises simplesqlite.TableNotFoundError:
              |raises_verify_table_existence|
          :raises simplesqlite.OperationalError: |raises_operational_error|