Resposta curta, várias colunas.
Resposta longa:
Pelo amor de tudo o que é sagrado no mundo, não armazene vários conjuntos de dados em uma única coluna de texto
Estou assumindo que você terá uma mesa que será
+------------------------------+ +----------------------+
| User | cell | office | home | OR | User | JSON String |
+------------------------------+ +----------------------+
Primeiro, direi que ambas as soluções não são a melhor solução, mas se você escolher uma das duas, a primeira é a melhor. Existem algumas razões, principalmente, embora a capacidade de modificar e consultar especificamente seja realmente importante. Pense no algrothim para modificar a segunda opção.
SELECT `JSON` FROM `table` WHERE `User` = ?
Then you have to do a search and replace in either your server side or client side language
Finally you have to reinsert the JSON string
Esta solução totaliza 2 consultas e um algoritmo de busca e substituição. Nada de bom!
Agora pense na primeira solução.
SELECT * FROM `table` WHERE `User` = ?
Then you can do a simple JSON encode to send it down
To modify you only need one Query.
UPDATE `table` SET `cell` = ? WHERE `User` = ?
to update more than one its again a simple single query
UPDATE `table` SET `cell` = ?, `home` = ? WHERE `User` = ?
Isso é claramente melhor, mas não é o melhor
Existe uma terceira solução Digamos que você queira que um usuário possa inserir um número infinito de números de telefone.
Vamos usar uma tabela de relações para isso, então agora você tem duas tabelas.
+-------------------------------------+
+---------+ | Phone |
| Users | +-------------------------------------+
+---------+ | user_name| phone_number | type |
| U_name | +-------------------------------------+
+---------+
Agora você pode consultar todos os números de telefone de um usuário com algo assim
Agora você pode consultar a tabela por meio de uma junção
SELECT usuários., telefone. FROM Phone, Users WHERE phone.user_name =? E Usuários.U_name =?
As inserções são igualmente fáceis e a verificação de tipo também.
Lembre-se de que este é um exemplo simples, mas o SQL realmente fornece muito poder à sua estrutura de dados, você deve usá-lo em vez de evitá-lo