- 1 1. Fundamentos da Manipulação de Strings no MySQL
- 2 2. Extração Básica de Strings no MySQL – Função SUBSTRING
- 3 3. Extração de Strings com as Funções LEFT e RIGHT
- 4 4. Dividindo Strings com 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. Fundamentos da Manipulação de Strings no MySQL
No gerenciamento de bancos de dados, a manipulação de strings é uma habilidade essencial para o processamento de dados e otimização de consultas. O MySQL fornece funções convenientes para extrair e manipular strings. Neste artigo, focaremos na importante função SUBSTRING, juntamente com outros métodos de manipulação de strings, e explicaremos casos de uso práticos.
2. Extração Básica de Strings no MySQL – Função SUBSTRING
A função SUBSTRING no MySQL é uma das funções mais comumente usadas para extrair uma porção de uma string.
Sintaxe Básica da SUBSTRING
SUBSTRING(string, start_position, length)
- string : A string de destino da qual extrair.
- start_position : A posição inicial da extração (o primeiro caractere é a posição 1).
- length : O número de caracteres a extrair. Se omitido, extrai da posição inicial até o final da string.
Exemplo: Uso Básico
SELECT SUBSTRING('Hello World', 2, 5);
Esta consulta extrai 5 caracteres a partir do segundo caractere de “Hello World”, resultando em “ello “.
Usando Valores Negativos com SUBSTRING
Ao especificar uma posição inicial negativa, você pode extrair caracteres contados a partir do final da string.
SELECT SUBSTRING('abcdefg', -3, 2);
Esta consulta retorna “ef”, que são o terceiro e o quarto caracteres a partir do final.

3. Extração de Strings com as Funções LEFT e RIGHT
Em vez de SUBSTRING, você pode usar LEFT ou RIGHT para recuperar um número específico 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 retorna “abc”.
Função RIGHT
A função RIGHT extrai um número especificado de caracteres do lado direito de uma string.
SELECT RIGHT('abcdefg', 3);
Esta consulta retorna “efg”. Essas funções são especialmente úteis quando você sempre precisa extrair um número fixo de caracteres de qualquer lado de uma string.
4. Dividindo Strings com SUBSTRING_INDEX
A função SUBSTRING_INDEX divide uma string com base em um delimitador especificado e retorna uma parte particular. Isso é especialmente útil para dados CSV ou campos que contêm múltiplos valores concatenados.
Sintaxe Básica da SUBSTRING_INDEX
SUBSTRING_INDEX(string, delimiter, N)
- string : A string de destino na qual operar.
- delimiter : O caractere usado para dividir a string (por exemplo, uma vírgula).
- N : O número de partes a retornar. Um valor positivo conta a partir do início, um valor negativo conta a partir do final.
Exemplo: Uso
SELECT SUBSTRING_INDEX('apple,orange,banana', ',', 2);
Esta consulta recupera “apple,orange” da string “apple,orange,banana”.

5. Aplicações Práticas: Extração de Strings em Operações de Banco de Dados
A manipulação de strings é muito útil no gerenciamento de bancos de dados no mundo real. A seguir, alguns exemplos práticos.
Extração de Parte de um Nome de Produto
A consulta a seguir procura nomes de produtos que terminam com “Large”.
SELECT * FROM products WHERE SUBSTRING(name, -2, 2) = 'Large';
Dessa forma, você pode extrair registros que correspondam a uma condição específica no final de uma string.
Extração de Dados Numéricos para Cálculos
Aqui está um exemplo de extração de parte de um campo numérico para cálculos:
SELECT name, price, SUBSTRING(price, -2, 2) * 5 AS total FROM products;
Esta consulta extrai os dois últimos dígitos do preço do produto, multiplica-os por 5 e exibe o resultado como “total”.
6. Dicas de Otimização de Desempenho
Embora as funções de string sejam poderosas, elas podem impactar o desempenho em bancos de dados grandes. A seguir, algumas dicas para melhorar o desempenho.
Use Índices de Forma Eficiente
Quando se pesquisa por partes de strings, criar índices apropriados pode melhorar significativamente a velocidade da consulta. Por exemplo, ao usar a cláusula LIKE, consultas como LIKE 'abc%' podem usar índices de forma eficaz. No entanto, consultas como LIKE '%abc' (correspondências de sufixo) não podem usar índices, o que pode reduzir o desempenho.
Operações de String em Conjuntos de Dados Grandes
Se você realiza frequentemente operações de string em tabelas grandes, considere lidar com a manipulação de strings no nível da aplicação. Descarregar o processamento pesado do banco de dados para a aplicação pode ajudar a reduzir a carga do servidor.
7. Conclusão
A manipulação de strings no MySQL é uma ferramenta poderosa para extração de dados e relatórios. Ao dominar funções como SUBSTRING, LEFT e RIGHT, você pode extrair facilmente as informações exatas de que precisa. Para otimizar o desempenho, é importante configurar os índices adequadamente e projetar métodos de processamento eficientes.
Ao dominar essas técnicas, você pode aprimorar ainda mais suas habilidades de manipulação de strings no MySQL. Como próximo passo, considere aprender sobre expressões regulares e outras operações avançadas de string.


