def _create_statement_for(table_name, columns):
    """
    :param table_name: name of table to create; does not get escaped, so don't use untrusted user input
    :type table_name: string
    :param columns: (column name, SQLite type) pairs
    :type columns: list of 2-tuples of strings
    :rtype: string
    :returns: SQLite CREATE TABLE statement
    """
    columns_def = ", ".join("%s %s" % pair for pair in columns)
    return "CREATE TABLE %s(%s)" % (table_name, columns_def)