Задача недоопределена.
Например, под термином CSV можно понимать как файл единой структуры (причём как plain-структуры, так и с сериализованными данными), так и несколько конкатенированных (как в процессе вывода, так и явно по окончании вывода) файлов, каждый из которых имеет свою структуру (да ещё и дополнительная информация там может храниться, вроде имён таблиц и имён/типов полей).
Каждый из вариантов предполагает свой код для решения задачи (это если не обращать внимания на такую мелочь, что сама по себе запись в CSV в каждой СУБД делается тоже ну очень по-своему).
А так - вот не вижу ну никакой проблемы. Лишь бы на той стороне обработки этого CSV был код, который правильно интерпретирует данные и корректно разложит их обратно по таблицам. Причём если идёт речь о создании универсального инструмента, то только в этом самом последнем моменте (вывод результата запроса в CSV) могут возникнуть хоть какие-то сложности. Остальное просто и плоско, как блин.
Я не знаю их архитектуру и название таблиц заранее
Хотя вот ещё одна точка, где могут возникнуть сложности. Теоретически все СУБД должны бы поддерживать INFORMATION_SCHEMA, всё же стандарт как бы описывает - и всё равно не всё там просто и очевидно.