Também pode ser retirado os caracteres apenas na apresentação de uma consulta.
Para prevenir a entrada dos dados pode ser usado funções no mysql para cortar os símbolos na entrada.
Veja abaixo como fazer:
Quando a informação já estiver inserida no banco e forem poucos caracteres para corrigir pode ser usado assim.
Exemplo com CEP:
UPDATE tabela SET cep = REPLACE( cep, '-', '' );
Também funciona com mais de um caractere.
Exemplo com CPF:
UPDATE tabela SET cpf = REPLACE(REPLACE( cpf, '-', '' ), '.', '');
Quando tiver mais caracteres para ser substituído pode ser usado regex.
Por exemplo em um CNPJ para deixar apenas número.
UPDATE set cnpj = REGEXP_REPLACE(cnpj, '[^0-9]+','');
Para apresentar apenas no select basta usar assim:
Exemplo com CPF:
SELECT REPLACE(REPLACE( cpf, '-', '' ), '.', '') AS cpf from tabela;
Para inserir o texto sem pontos ou caracteres especiais pode ser usado uma função.
Veja aqui como fazer uma função no mysql.
Depois basta chamar a função ao inserir o texto.
INSERT into tabela (texto) value (excluirCaracteres(texto));
Como remover caracteres no mysql apartir de uma posição?
Sintaxe:
texto.normalize("NFD").replace("parâmetros que serão substituídos", "");
O código acima utiliza normalize para tratar os acentos, se não as letras com acentos também seriam apagadas.
Depois o replace substitui tudo o que não é letra ou número por nada.
Para essa regra no replace é usado o código regex com ^a-zA-Z0-9, onde o ^ (acento circunflexo) faz a negação e determina tudo que está entre a até z maiúsculo e minusculo, e os números de 0 a 9.
Exemplo:
var frase = "Frase completa com acentos e pontução. + alguns números e pontos para testar 1321321+*/-*/-";
var fraseSemCaracteresEspeciais = nome.normalize("NFD").replace(/[^a-zA-Z0-9s]/g, "")
console.log(fraseSemCaracteresEspeciais);