def insert(self, table, kwargs, execute=True):
        """.. :py:method::

        Usage::

            >>> insert('hospital', {'id': '12de3wrv', 'province': 'shanghai'})
            insert into hospital (id, province) values ('12de3wrv', 'shanghai');

        :param string table: table name
        :param dict kwargs: name and value
        :param bool execute: if not execute, return sql and variables
        :rtype: tuple

        """
        sql = "insert into " + table + " ({}) values ({});"
        keys, values = [], []
        [ (keys.append(k), values.append(v)) for k, v in kwargs.iteritems() ]
        sql = sql.format(', '.join(keys), ', '.join(['%s']*len(values)))
        if execute:
            super(PGWrapper, self).execute(sql, values, result=False)
        else:
            return sql, values
.. :py:method::

        Usage::

            >>> insert('hospital', {'id': '12de3wrv', 'province': 'shanghai'})
            insert into hospital (id, province) values ('12de3wrv', 'shanghai');

        :param string table: table name
        :param dict kwargs: name and value
        :param bool execute: if not execute, return sql and variables
        :rtype: tuple