Вы можете хранить пары ключ-значение в базе данных. Единственный тип данных, который может хранить любой другой тип данных, - это VARCHAR (MAX) или BLOB. Это означает, что все данные должны быть преобразованы в строку, прежде чем они могут быть сохранены. Это преобразование займет время обработки.
В обратном направлении, когда вы хотите сделать SUM, MAX или AVG, ... числовых данных, вам сначала нужно преобразовать строку обратно в ее реальный тип данных. Это преобразование также займет время обработки.
Базы данных читаются намного больше, чем записываются. Кошмар конверсии поставит вашу систему на колени. По этой теме было много споров. Высокая стоимость конверсий является убийцей.
Существуют системы, которые хранят всю базу данных в одной таблице. Но в этих случаях вся система строится с одной четкой целью: эффективно поддерживать эту систему на языке быстрого компилирования, таком как C (++, #), а не на языке реляционной базы данных, таком как SQL.
У меня нет идеи, я полностью понимаю, что вы действительно хотите. Если вы хотите сохранить транзакции, стоит попробовать. Но почему вы хотите хранить их по одному полю за раз? Данные хранятся в группах в записях. И тип данных каждого столбца в записи известен во время создания таблицы.