- 1 1. Conceitos Básicos de Manipulação de Strings no MySQL
- 2 2. Extração Básica de Strings no MySQL – A Função SUBSTRING
- 3 3. Extraindo Strings com as Funções LEFT e RIGHT
- 4 4. Dividindo Strings com a Função SUBSTRING_INDEX
- 5 5. Aplicações Práticas: Extração de Strings em Operações de Banco de Dados
- 6 6. Dicas de Otimização de Desempenho
- 7 7. Conclusão
1. Conceitos Básicos de Manipulação de Strings no MySQL
Na administração de bancos de dados, a manipulação de strings é uma habilidade essencial para processar dados e otimizar os resultados de consultas. O MySQL oferece funções convenientes para extrair e manipular strings. Neste artigo, focamos principalmente na importante função SUBSTRING, apresentamos outros métodos de manipulação de strings e explicamos exemplos práticos de uso.
2. Extração Básica de Strings no MySQL – A Função SUBSTRING
A função SUBSTRING no MySQL é uma das funções mais usadas para extrair uma parte especificada de uma string.
Sintaxe Básica da Função SUBSTRING
SUBSTRING(string, start_position, length)
- string : A string da qual extrair.
- start_position : A posição inicial para a extração (a primeira posição de caractere é 1).
- length : O número de caracteres a serem extraídos (se omitido, a extração continua da posição inicial até o final da string).
Exemplo: Uso Básico
SELECT SUBSTRING('Hello World', 2, 5);
Nesta consulta, cinco caracteres a partir do segundo caractere da string “Hello World” são extraídos, resultando em “ello ”.
Usando Valores Negativos com SUBSTRING
Ao especificar um valor negativo para a posição inicial, você pode contar a partir do final da string e extrair caracteres.
SELECT SUBSTRING('abcdefg', -3, 2);
Esta consulta devolve “ef”, que corresponde ao terceiro e quarto caracteres contados a partir do final.
3. Extraindo Strings com as Funções LEFT e RIGHT
Em vez de usar a função SUBSTRING, você também pode usar as funções LEFT e RIGHT para obter um número especificado de caracteres do início ou do final de uma string.
Função LEFT
A função LEFT extrai um número especificado de caracteres do lado esquerdo de uma string.
SELECT LEFT('abcdefg', 3);
Esta consulta devolve “abc”.
Função RIGHT
Por outro lado, a função RIGHT recupera um número especificado de caracteres do lado direito de uma string.
SELECT RIGHT('abcdefg', 3);
Esta consulta devolve “efg”. Essas funções são especialmente úteis quando você precisa extrair um número fixo de caracteres do início ou do final de uma string.
4. Dividindo Strings com a Função SUBSTRING_INDEX
A função SUBSTRING_INDEX é usada para dividir uma string com base em um delimitador especificado e recuperar uma substring específica. Isso é particularmente útil para dados CSV ou campos que contêm valores concatenados.
Sintaxe Básica da Função SUBSTRING_INDEX
SUBSTRING_INDEX(string, delimiter, N)
- string : A string alvo a ser processada.
- delimiter : O caractere usado para dividir a string (por exemplo, uma vírgula).
- N : O número de delimitadores a considerar. Um valor positivo conta a partir do início, e um valor negativo conta a partir do final.
Exemplo: Uso
SELECT SUBSTRING_INDEX('apple,orange,banana', ',', 2);
Nesta consulta, a string “apple,orange,banana” é dividida por vírgulas, e os dois primeiros elementos “apple,orange” são recuperados. 
5. Aplicações Práticas: Extração de Strings em Operações de Banco de Dados
A manipulação de strings é extremamente útil na administração de bancos de dados do mundo real. Aqui estão vários exemplos práticos.
Extraindo Parte do Nome de um Produto
A consulta a seguir busca dados onde o nome do produto termina com “Large”.
SELECT * FROM products WHERE SUBSTRING(name, -5, 5) = 'Large';
Dessa forma, você pode especificar a parte final dos dados e extrair registros que correspondam a condições específicas.
Extraindo Dados Numéricos para Cálculo
Este exemplo extrai parte de um campo numérico e o utiliza em um cálculo.
SELECT name, price, SUBSTRING(price, -2, 2) * 5 AS total FROM products;
Nesta consulta, os dois últimos dígitos do preço do produto são extraídos e multiplicados por 5 para exibir o resultado como “total”.
6. Dicas de Otimização de Desempenho
Embora a manipulação de strings seja conveniente, ela pode impactar o desempenho em bancos de dados de grande escala. A seguir, estão várias dicas para melhorar o desempenho.
Use Índices de Forma Eficaz
Ao pesquisar parte de uma string, índices configurados corretamente podem melhorar significativamente a velocidade da consulta. Por exemplo, ao combinar a cláusula LIKE com índices, consultas que buscam a partir do início do padrão, como LIKE 'abc%', são ideais. Em contraste, padrões como LIKE '%abc', que realizam correspondência de sufixo, não podem usar índices de forma eficaz e podem levar à degradação do desempenho.
Operações de String em Conjuntos de Dados Grandes
Se você costuma realizar manipulação de strings em tabelas grandes, considere processar as transformações de strings no nível da aplicação. Quando o processamento no lado do banco de dados se torna pesado, distribuir a carga de trabalho para a aplicação pode ajudar a reduzir a carga do sistema.
7. Conclusão
A manipulação de strings no MySQL é uma ferramenta poderosa para extração de dados e geração de relatórios. Ao usar efetivamente funções como SUBSTRING, LEFT e RIGHT, você pode recuperar facilmente as informações de que precisa. Para otimizar o desempenho, é importante configurar índices apropriados e projetar cuidadosamente sua abordagem de processamento.
Ao dominar essas técnicas, você pode aprimorar ainda mais suas habilidades de manipulação de strings no MySQL. Como próximo passo, recomendamos aprender sobre expressões regulares e outras técnicas avançadas de processamento de strings.

