I want to get table name from 'FROM' and 'JOIN'. This is the example of the query:
SELECT * FROM film JOIN language ON film.language_id = language.language_id WHERE language_name = "English"
I use sqlparse library in python. This is I've tried:
line="FROM film INNER JOIN language ON film.language_id =
language.language_id WHERE language.name = 'English' GROUP BY language_id"
a = sqlparse.parse(line)[0].tokens
print (a)
Out[91]:
[<Keyword 'FROM' at 0x1EEA18CDAC8>,
<Whitespace ' ' at 0x1EEA18CDCA8>,
<Identifier 'film' at 0x1EEA18CE6D8>,
<Whitespace ' ' at 0x1EEA18CDB28>,
<Keyword 'INNER ...' at 0x1EEA18CDBE8>,
<Whitespace ' ' at 0x1EEA18CDC48>,
<Keyword 'langua...' at 0x1EEA18CDA68>,
<Whitespace ' ' at 0x1EEA18CDD08>,
<Keyword 'ON' at 0x1EEA18CDD68>,
<Whitespace ' ' at 0x1EEA18CDDC8>,
<Comparison 'film.l...' at 0x1EEA18CE7C8>,
<Whitespace ' ' at 0x1EEA18B61C8>,
<Where 'WHERE ...' at 0x1EEA18CE4F8>,
<Keyword 'GROUP ...' at 0x1EEA18B65E8>,
<Whitespace ' ' at 0x1EEA18B6648>,
<Identifier 'langua...' at 0x1EEA18CE750>]
The output I expect:
table = [film,language]
does someone can help me? Thanks