Find table names and other information in a SQL query
pip3 install pysqlparse
from pysqlparse import parser
...Returns a set of all table names (without aliases) found in the SQL string.
from pysqlparse import parser
print(parser.get_table_names('''
SELECT *
FROM requests.by_account m
INNER JOIN customer_data.styles s ON m.version = s.id
LEFT JOIN profiles.users u ON m.csm = u.id
'''))Returns:
{'request.by_account', 'customer_data.styles', 'profiles.users'}