Ну, у вас уже есть достаточно людей, говорящих вам "не делайте этого" , поэтому, если они не могут вас отговорить, вот несколько идей:
ВКЛЮЧАЕТ хорошее, не пытайтесь ИСКЛЮЧИТЬ плохое
(Я думаю, что правильная терминология - Белый список против Черный список )
Под этим я подразумеваю не ищите злых или недействительных вещей, чтобы выбросить (существует слишком много способов, которыми это можно было бы написать или замаскировать), вместо этого ищите допустимых вещей, чтобы включить и выбросить все остальное.
Вы уже упоминали в другом комментарии, что ищете список удобных имен таблиц и подставляете фактические имена таблиц схемы. Об этом я и говорю - если вы собираетесь это сделать, то делайте это и с именами полей.
Я все еще склоняюсь к графическому пользовательскому интерфейсу какого-то рода: выберите таблицы для просмотра здесь, выберите поля, которые вы хотите видеть здесь, используйте некоторые раскрывающиеся списки для создания предложения where и т. Д. Больно, но все же наверное проще.