Как правильно организовать и защитить таблицу в которой будет хранится balance пользователя?
Изначально не верный подход. Если кто-то может писать в таблицу - он в нее запишет. Перефраза одного из законов Мерфи. 
Правильным будет вообще не допускать несанкционированный доступ к базе.
Ну вообще-то при использовании нормальных фреймворков/ORM вероятность SQL Injection или например атаки с помощью XSS становится очень небольшой. Но если хочется перестраховаться, запретите прямое хождение в таблицу и работайте с ней исключительно через процедуры например, частично поможет. (Безопасность - это процесс, а не результат).