import sqlite3 from apps.app.env_settings import MAS_DB con = sqlite3.connect(MAS_DB) def list_tables(p=False): cursor = con.cursor() tables_list = cursor.execute('SELECT name FROM sqlite_master WHERE type="table"').fetchall() tables = [tup[0] for tup in tables_list if tup[0].split('_')[0] != 'sqlite'] if p is True: for table in tables: print(table) return tables def list_columns(table_name, p=False): cursor = con.cursor() cursor.execute(f'SELECT * FROM { table_name }') columns = [tup[0] for tup in cursor.description] if p is True: print(table_name + ':') for col in columns: print(' ' + col) return columns def print_all_tables_columns(): _ = [list_columns(t, p=True) for t in list_tables()] def run_select_sql(sql, p=False): cursor = con.cursor() cursor.execute(sql) rows = cursor.fetchall() if p is True: columns = [tup[0] for tup in cursor.description] print('\t|\t'.join(columns)) for row in rows: row_str = [str(col) for col in row] print('\t|\t'.join(row_str)) return rows def run_sql_commit(sql): con.execute(sql) con.commit()