Introdução às consultas MySQL

Existem muitos tipos de comandos SQL que podem ser classificados da seguinte forma:

  • DDL (linguagem de definição de dados)
  • DML (linguagem de manipulação de dados)
  • DQL (linguagem de consulta de dados)
  • DCL (linguagem de controle de dados)
  • TCL (linguagem de controle de transações)

Neste artigo de consultas do MySQL. Vamos discutir principalmente sobre o DQL, que é a "Data Query Language". Isso acontece quando tentamos buscar registros do banco de dados e começa com o comando "SELECT". Além disso, discutiremos o breve significado de outras categorias.

Tipos de consultas MySQL

A seguir, os 5 tipos de consultas são:

DDL

Quando realizamos alterações na estrutura física da tabela no banco de dados, precisamos de comandos DDL. Os comandos CREATE, ALTER, RENAME, DROP, TRUNCATE, etc entram nessa categoria. Esses comandos não podem ser revertidos.

1. CREATE: É usado para criar uma tabela ou banco de dados.

Inquerir:

CREATE table employee;

2. ALTER: Usado para modificar ou alterar valores na tabela.

Inquerir:

ALTER TABLE table_name
ADD COLUMN col_name;

3. RENOMEAR: renomeie a tabela ou o nome do banco de dados.

Inquerir:

ALTER TABLE table_name
RENAME COLUMN col_name TO new_col_name;

4. DROP: Isso remove os registros de uma tabela, bem como a estrutura de uma tabela. Não é possível reverter / desfazer

Inquerir:

DROP TABLE IF EXISTS table_name;

5. TRUNCATE: esvazia apenas os registros, deixa a estrutura para futuros registros.

Inquerir:

TRUNCATE TABLE employee;

DML

Como podemos ver o nome da linguagem Data Manipulation, assim que as tabelas / banco de dados são criados, para manipular algo dentro desse material, precisamos de comandos DML. O mérito de usar esses comandos é que, se ocorrer alguma alteração errada, podemos reverter / desfazer.

1. INSERT: Usado para inserir novas linhas na tabela.

Inquerir:

INSERT into employee
Values(101, 'abcd');

2. EXCLUIR: Usado para excluir uma única linha ou registros inteiros em uma tabela.

Inquerir:

DELETE TABLE employee;

3. UPDATE: Usado para atualizar registros existentes em uma tabela.

Inquerir:

UPDATE employee
SET col1 = new_col
WHERE condition;

4. MERGE: Usado para mesclar duas linhas.

DCL

Concede ou revoga acessos de usuários ao banco de dados.

1. CONCESSÃO: Fornece acesso aos usuários

Inquerir:

GRANT CREATE table to user;

2. REVOQUE: Retorne o acesso dos usuários

Inquerir:

REVOKE CREATE table from user;

TCL

Isso gerencia os problemas relacionados à transação em qualquer banco de dados. Isso é usado para reverter ou confirmar no banco de dados.

1. ROLLBACK: Usado para cancelar ou desfazer alterações feitas no banco de dados

Inquerir:

ROLLBACK;

2. COMMIT: Usado para implantar alterações no banco de dados

Inquerir:

COMMIT;

DQL

A linguagem de consulta de dados consiste apenas no comando SELECT pelo qual podemos recuperar e buscar dados com base em algumas condições fornecidas. Muitas cláusulas do SQL são usadas com este comando para recuperar dados filtrados.

1. SELECT: Usado para buscar todos os registros de uma tabela

Inquerir:

SELECT * FROM table;

2. DISTINCT: Usado para buscar todos os valores exclusivos de uma tabela

Inquerir:

SELECT DISTINCT col_name FROM table;

3. ONDE: Utilizou condições de perdão na recuperação de registros

Inquerir:

SELECT employee_id FROM employee
WHERE name = 'stella';

4. COUNT: Usado para obter o número de registros presentes em uma tabela

Inquerir:

SELECT COUNT(*) FROM employee;

5. ORDER BY: Usado para classificar os valores numéricos e de seqüência de caracteres, de maneira crescente ou decrescente. Mas, por padrão, classifica de maneira crescente. Se quisermos descer, precisamos especificá-lo depois de usar a cláusula ORDER BY.

Inquerir:

SELECT first_name FROM student
ORDER BY marks desc;

6. LIMIT: É usado para especificar o número de registros que queremos após a execução da consulta. Se queremos os 5 melhores alunos de uma turma, depois de classificar os resultados, podemos usar esse LIMIT especificando 5. Para que ele apenas obtenha os 5 melhores registros.

Inquerir:

SELECT first_name FROM student
ORDER BY marks desc
LIMIT 5;

(** ORDER BY usado aqui para classificar o valor em ordem decrescente)

7. AND: Se duas condições forem fornecidas e ambas forem atendidas para um registro, somente a consulta buscará esses registros.

Inquerir:

SELECT employee_id FROM employee
WHERE name = 'stella' AND city = 'Bangalore';

8. OU: Se duas condições forem fornecidas e uma for atendida para um registro, esse registro será buscado.

Inquerir:

SELECT employee_id FROM employee
WHERE department = 'IT' OR city = 'Bangalore';

9. NOT: Usado com condições. Se especificarmos NOT antes de qualquer condição, os registros que não atenderem a essas condições serão buscados.

Inquerir:

SELECT employee_id FROM employee
WHERE NOT BETWEEN 1 AND 10;

10. ENTRE: Este operador seleciona registros dentro de um determinado intervalo. Geralmente usamos isso onde queremos especificar um intervalo de datas.

Inquerir:

SELECT emp_id FROM employee
WHERE emp_id BETWEEN 1 AND 10;

Inquerir:

SELECT * FROM employee
WHERE join_date BETWEEN '2007-01-01' AND '2008-01-01';

11. IN: Este operador nos permite especificar vários valores em uma cláusula WHERE.

Inquerir:

SELECT * FROM employee
WHERE employee_id IN (1001, 1004, 1008, 1012);

12. LIKE: Este operador é usado com a cláusula WHERE para procurar um padrão especificado em uma coluna que contém uma sequência. 'A%' - a sequência começa com A

  • '& A': termina com A
  • '% A%': A estará entre a sequência
  • '_A%': Aqui a segunda letra será A
  • '% A_': o segundo da última letra será A

Inquerir:

SELECT first_name FROM table
WHERE first_name LIKE 'A%';

13. SUBSTRING: Usado para escolher um caractere específico de uma string, especificando uma posição

Inquerir:

SELECT SUBSTRING(customer_name, 1, 5) FROM customer_table;

(ele buscará o caractere da 1ª à 5ª posição de uma sequência)

14. INSTR: retorna uma posição de uma string em outra string

Inquerir:

SELECT INSTR('independence', 'pen');

(ele encontrará a posição de 'caneta' na palavra 'independência')

15. GRUPO POR: É usado para segregar registros com base em algumas condições

Inquerir:

SELECT employee_id FROM employee GROUP BY department HAVING salary > 100000;

(Aqui agrupe por funcionários segregados com base em seu departamento e cujo salário seja superior a 100 mil.
A condição sempre vem com a instrução HAVING na cláusula GROUP BY.)

Função agregada

16. SUM: Calcula a soma dos valores

Inquerir:

SELECT SUM(salary) FROM employee;

17. AVG: calcula a média do conjunto de valores

Inquerir:

SELECT AVG(salary) FROM employee;

18. MIN: Obtém o valor mínimo em um conjunto de valores

Inquerir:

SELECT MIN(salary) FROM employee;

19. MAX: Obtém o valor máximo em um conjunto de valores

Inquerir:

SELECT MAX(salary) FROM employee;

Junções

20. INNER JOIN: Retorna registros que possuem um valor correspondente nas duas tabelas

Inquerir:

SELECT * FROM order
INNER JOIN customer
ON order.cust_id = customer.cust_id;

21. LEFT JOIN: Retorna todos os registros da tabela esquerda e os registros correspondentes da tabela direita

Inquerir:

SELECT * FROM order
LEFT JOIN customer
ON order.cust_id = customer.cust_id;

22. RIGHT JOIN: Retorna todos os registros da tabela direita e os registros correspondentes da tabela esquerda

Inquerir:

SELECT * FROM order
RIGHT JOIN customer
ON order.cust_id = customer.cust_id;

23. JUNÇÃO EXTERNA COMPLETA: Retorna todos os registros quando houver uma correspondência na tabela esquerda ou direita

Inquerir:

SELECT * FROM order
FULL OUTER JOIN customer
ON order.cust_id = customer.cust_id;

Conclusão

Esses comandos e cláusulas que discutimos acima são muito úteis em cenários em tempo real, pois fornecem os conceitos básicos de como usar consultas SQL para buscar e manipular dados no banco de dados. Além disso, ao usar consultas analíticas e avançadas, como a função de janela, etc, essas cláusulas são muito importantes.

Artigos recomendados

Este é um guia para as consultas do MySQL. Aqui discutimos os tipos de consultas no MySQL, que incluem DDL, DML, DQL e DCL, TCL. Você também pode consultar nossos outros artigos sugeridos para saber mais -

  1. Recursos de curingas no MySQL
  2. MySQL vs MySQLi
  3. O que é o banco de dados MySQL
  4. O que é o MySQL Server?
  5. Função de classificação em Python com exemplos
  6. Implementar o comando Insert no MySQL com exemplos
  7. Junção interna no Oracle | Aprenda os 6 principais exemplos de consulta
  8. Vários exemplos de INSERT no Oracle