As consultas do MySQL geralmente são escritas uma vez e, em seguida, agrupadas em funções de classe para minimizar a repetição de código. Este artigo lista as 10 consultas usadas com mais frequência no MySQL.
Uma consulta é essencialmente uma solicitação de informações a serem recuperadas de uma tabela de banco de dados ou de uma combinação de tabelas. Existem muitas linguagens de consulta que podem ser escritas para executar uma variedade de consultas simples a complexas. As consultas filtrarão determinados critérios com base nos dados específicos solicitados. Ele também pode automatizar tarefas de gerenciamento de dados e realizar cálculos. Este guia discute as 10 consultas MySQL mais comuns.
Vamos usar esses bancos de dados de demonstração para nos ajudar a entender melhor como cada consulta funciona.
Código Funcionário | Nome | Título |
---|---|---|
1002 | Webster W. | Executivo |
1003 | Lizzy S. | Gerente |
1004 | Oliver T. | Engenheiro de software |
Código Funcionário | Departamento | Idade |
---|---|---|
1002 | RH | 36 |
1003 | Vendas | 21 |
1004 | TI | 39 |
SELECIONAR tudo
Uma consulta SELECT simples é usada para buscar e enviar de volta todos os dados de um banco de dados. Sua sintaxe pode ser escrita como tal;
Código:
SELECT * FROM Employees;
Resultado:
1002 Webster W. Executive 1003 Lizzy S. Manager 1004 Oliver T. Software Engineer
Para selecionar todas as colunas disponíveis na tabela, você deve usar “*” para indicar que precisa de todas as informações possíveis devolvidas. Em segundo lugar, indique a palavra-chave FROM para receber dados da tabela do banco de dados. Por fim, lembre-se sempre de terminar sua declaração com um ponto e vírgula “;” para completar o pedido corretamente.
SELECIONAR coluna
Para obter dados de uma(s) coluna(s) específica(s) e não de tudo, basta indicar o nome do campo em vez de usar o asterisco(*).
Código:
SELECT Title FROM Employees;
Resultado:
Title Executive Manager Software Engineer
Ao selecionar várias colunas de um banco de dados, elas devem ser separadas por uma vírgula. Igual a;
SELECT Title, Name FROM Employees;
cláusula WHERE
Ao utilizar a cláusula WHERE em uma consulta SELECT, os registros de dados serão filtrados e, em seguida, extrai os registros que correspondem à(s) condição(ões) como resultado.
Código:
SELECT * FROM Employees WHERE EmployeeID = 1004 ;
Resultados:
1004 Oliver T. Software Engineer
A cláusula WHERE pode ter mais de uma condição que pode ser separada usando a palavra-chave AND.
CRIAR Tabela
Essa consulta pode ser usada para gerar uma nova tabela com sua escolha de colunas preferida. Ao adicionar nomes de coluna, certifique-se de especificar seu tipo de dados.
Código:
CREATE TABLE EmployeeInfo ( EmployeeId INT, Department VARCHAR(25), Age NUMBER );
Resultados Esperados da Tabela:
EmployeeID | Department | Department |
NULL | NULL | NULL |
Depois de executar o comando CREATE TABLE e preenchê-lo com títulos de coluna, a consulta acima cria uma tabela “EmployeeInfo” no banco de dados. Essencialmente, cada coluna retornará NULL porque não inserimos nenhum valor específico. Isso nos leva à nossa próxima consulta, INSERT INTO.
INSERIR NA consulta
Esta é a consulta mais comum para inserir valores em uma ou mais linhas de novos registros em uma tabela. Podemos preencher a tabela EmployeeInfo com alguns dados de exemplo;
Código:
INSERT INTO EmployeeInfo (EmployeeID,Department,Age) VALUES (1002, HR , 46), (1003, Finance , 28), (1004, IT , 39);
Resultados da Tabela:
Informações do funcionário
EmployeeID | Department | Age |
1002 | HR | 46 |
1003 | Finance | 28 |
1004 | IT | 39 |
Ao escrever uma consulta INSERT INTO, o comando VALUES deve fazer parte da instrução completa.
Atualizar consulta
Esta palavra-chave é usada para alterar uma ou mais colunas existentes em uma tabela. O uso dessa consulta atualizará os registros da tabela com novos dados com base em alguma condição.
Informações do funcionário
EmployeeID | Department | Age |
1002 | HR | 36 |
1003 | Sales | 21 |
1004 | IT | 39 |
Código:
UPDATE EmployeeInfo SET Age = 22 WHERE EmployeeID = 1003;
Resultados da Tabela:
Informações do funcionário
EmployeeID | Department | Age |
1002 | HR | 36 |
1003 | Sales | 22 |
1004 | IT | 39 |
Seguindo o comando UPDATE, use a palavra-chave SET para sempre especificar qual(is) coluna(s) você escolhe modificar e, em seguida, indique exatamente ONDE você precisa que os dados atualizados sejam aplicados.
EXCLUIR DA consulta
Para remover registros de uma tabela com base em uma ou várias condições, você precisaria usar a instrução DELETE FROM. Ao usar condições, ele limita o número de linhas afetadas pela consulta.
Código:
DELETE FROM Employees WHERE Name = ‘Lizzy’;
Resultados da Tabela:
Funcionários
EmployeeID | Name | Title |
1002 | Webster W. | Executive |
1004 | Oliver T. | Software Engineer |
Conforme abordado anteriormente no artigo; usar a condição WHERE determina exatamente onde você solicita que os dados sejam filtrados e executados. Essa consulta é para excluir todos os registros da tabela de Funcionários que correspondam ao nome "Lizzy".
Usando GROUP BY, HAVING cláusula
A cláusula GROUP BY é quase sempre usada com funções agregadas. O uso dessa palavra-chave agrupará o conjunto de resultados por uma ou mais colunas.
A palavra-chave HAVING é usada para filtrar esse conjunto de resultados. Idealmente, você pensaria que uma cláusula WHERE seria colocada em prática, no entanto, a cláusula HAVING introduz uma condição nas agregações.
Informações do funcionário
EmployeeID | Department | Age |
1002 | HR | 36 |
1003 | Sales | 21 |
1004 | IT | 39 |
Código:
SELECT COUNT(Age), EmployeeID FROM EmployeeInfo GROUP BY EmployeeID HAVING COUNT(Age) > 21;
Resultados:
COUNT(Age) EmployeeID 39 1004 36 1002
Funções agregadas (SUM, AVG e COUNT)
Existem três funções agregadas extremamente comuns que permitem que os dados de uma tabela sejam interpretados ou executados cálculos.
- COUNT:retorna o número de linhas que corresponde a uma coluna especificada.
- AVG: retorna o valor médio de uma coluna
- SOMA:retorna a soma de todos os valores em uma coluna selecionada.
Informações do Funcionário
Código Funcionário | Departamento | Idade |
1002 | RH | 36 |
1003 | Vendas | 21 |
1004 | TI | 39 |
Código para COUNT:
SELECT COUNT(Department) FROM EmployeeInfo;
Resultados:
COUNT(Department): 3
Código para AVG:
SELECT AVG(Age) FROM EmployeeInfo;
Resultados:
AVG(Age): 32
Código para SOMA
SELECT SUM(Age) FROM EmployeeInfo;
Resultados:
SUM(Age): 96
JUNTOS
As junções são usadas para reunir linhas de pelo menos duas tabelas, com base em uma coluna relacionada entre as tabelas. As junções mais comuns são INNER, FULL e LEFT.
- INNER Join – combina as linhas de diferentes tabelas se a condição de junção for verdadeira.
- FULL Join – retorna todas as linhas quando há uma correspondência nos registros da tabela à esquerda ou à direita.
- LeFT Join – recupera todas as linhas da tabela da esquerda e os registros correspondentes da tabela da direita.
Funcionários - Tabela #1 (Esquerda)
Código Funcionário | Nome | Título |
1002 | Webster W. | Executivo |
1003 | Lizzy S. | Gerente |
1004 | Oliver T. | Engenheiro de software |
EmployeeInfo - Tabela #2 (Direita)
Código Funcionário | Departamento | Idade |
1002 | RH | 36 |
1003 | Vendas | 21 |
1004 | TI | 39 |
Código INNER JOIN:
SELECT Employees.Title, EmployeeInfo.Department FROM Employees INNER JOIN EmployeeInfo ON Employees.EmployeeID = Employees.EmployeeID;
Resultados:
Title Department Executive HR Manager Sales Software Engineer IT
Código FULL JOIN:
SELECT * FROM Employees FULL JOIN EmployeeInfo ON Employees.EmployeeID = Employees.EmployeeID;
Resultados:
Pegará todas as linhas e colunas de ambas as tabelas, incluindo duplicatas, e as combinará em uma tabela inteira.
Código LEFT JOIN:
SELECT Employees.Name, EmployeeInfo.Age FROM Employees LEFT JOIN EmployeeInfo ON Employees.EmployeeID = Employees.EmployeeID;
Resultados:
Name Age Webster W. 36 Lizzy S. 21 Oliver T. 39
A coluna “EmployeeID” na tabela “Employee” refere-se ao “EmployeeID” na tabela “EmployeeInfo”, essencialmente afirmando que a coluna EmployeeID é o relacionamento entre as duas tabelas. As junções podem se tornar complicadas, mas ao mesmo tempo extremamente úteis ao classificar em um banco de dados maior.
O usuário e o banco de dados são capazes de trocar informações com sucesso basicamente falando a mesma língua. As consultas listadas acima são as mais usadas por iniciantes e especialistas. Escrever consultas MySQL é considerada a função mais frequente no domínio do gerenciamento de banco de dados.
Este artigo foi revisado e atualizado em abril de 2022 por Kelsey Perkins.