Tabela de conteúdos
- ➤ Sobre o projeto
- ➤ Tecnologias utilizadas
- ➤ Descrição do projeto
- ➤ Instruções
- ➤ Requisitos realizados
- ➤ Requisito 1: Buscando dados específicos em uma tabela
- ➤ Requisito 2: Buscando todos os dados contidos em uma tabela
- ➤ Requisito 3: Buscando primary keys em uma tabela
- ➤ Requisito 4: Contando elementos de uma busca
- ➤ Requisito 5: Buscando uma quantia de dados específica
- ➤ Requisito 6: Buscando dados e ordenando
- ➤ Requisito 7: Buscando dados, ordenando e limitando a quantia
- ➤ Requisito 8: Buscando dados, utilizando Alias e exibindo operações aritméticas
- ➤ Requisito 9: Filtrando por valores não nulos
- ➤ Requisito 10: Filtrando por condicional "OR" e ordenando os dados
- ➤ Requisito 11: Filtrando por string
- ➤ Requisito 12: Filtrando por data
- ➤ Requisito 13: Filtrando por condicional "OR"
- ➤ Requisito 14: Filtrando por condicional "AND"
- ➤ Requisito 15: Filtrando por hora, usando Alias
- ➤ Requisito 16: Filtrando datetime por condicionais
- ➤ Requisito 17: Filtrando por uma lista de possibilidades
- ➤ Requisito 18: Filtrando por condicional "AND"
- ➤ Requisito 19: Filtrando por condicionais, contando elementos e usando Alias
- ➤ Requisito 20: Inserindo 1 linha de dados em uma tabela
- ➤ Requisito 21: Inserindo várias linhas de dados em uma tabela
- ➤ Requisito 22: Atualizando dados em uma tabela
- ➤ Requisito 23: Atualizando dados por uma condicional
- ➤ Requisito 24: Atualizando dados por combinação de condicionais
- ➤ Requisito 25: Deletando dados por condicional
- ➤ Requisito 26: Deletando dados por condicional
- ➤ Requisito 27: Deletando todos os dados de uma tabela
- ➤ Créditos
Projeto desenvolvido durante a formação de BackEnd na Trybe com o intuito de consolidar o aprendizado de SQL e MySQL Workbench.
Descrição
Neste projeto eu realizei:
- Consolidação de conceitos e comandos de SQL;
Tem-se um banco de dados (Northwind
) e uma série de requisitos com diferentes níveis de complexidade neste repositório.
Durante o desenvolvimento foi utilizado Docker para evitar a restauração manual do banco de dados no MySQL Workbench.
Foram desenvolvidos os arquivos contendo apenas o comando necessário para resolver o requisito pedido.
- Clone o repositório
git clone [email protected]:Gabrielle-Murat/MySQL-AllForOne.git
- Entre na pasta do repositório que você acabou de clonar;
- Instale as dependências:
npm install
- Como restaurar o banco de dados, se necessário:
- Abra o MySQL Workbench,
- Abra uma nova aba de query e cole dentro dela todo o conteúdo do arquivo
northwind.sql
, - Execute a query e aguarde alguns segundos,
- Atualize a lista de dbs;
Queries iniciais:
1. Exibir apenas os nomes dos produtos na tabela `products`
2. Exibir os dados de todas as colunas da tabela `products`
3. Escrever uma query que exiba os valores da coluna que representa a primary key da tabela `products`
4. Contar quantos registros existem na coluna `product_name` da tabela `products`
5. Montar uma query que exiba os dados da tabela `products` a partir do quarto registro até o décimo terceiro
6. Exibir os dados das colunas `product_name` e `id` da tabela `products` de maneira que os resultados estejam em ordem alfabética dos nomes
7. Mostrar apenas os `id`s dos 5 últimos registros da tabela `products` (a ordernação deve ser baseada na coluna `id`)
8. Fazer uma consulta que retorne três colunas, respectivamente, com os nomes `A`, `Trybe` e `eh`, e com valores referentes a soma de `5 + 6`, a string `de`, a soma de `2 + 8`
Filtragem de dados:
9. Mostrar todos os valores de `notes` da tabela `purchase_orders` que não são nulos
10. Mostrar todos os dados da tabela `purchase_orders` em ordem decrescente, ordenados por `created_by` em que o `created_by` é maior ou igual a 3
11. Exibir os dados da coluna notes da tabela `purchase_orders` em que seu valor de `Purchase generated based on Order` é maior ou igual a 30 e menor ou igual a 39
12. Mostrar as `submitted_date` de `purchase_orders` em que a `submitted_date` é do dia 26 de abril de 2006
13. Mostrar o `supplier_id` das `purchase_orders` em que o `supplier_id` seja 1 ou 3
14. Mostrar os resultados da coluna `supplier_id` da tabela `purchase_orders` em que o `supplier_id` seja maior ou igual a 1 e menor ou igual 3
15. Mostrar somente as horas (sem os minutos e os segundos) da coluna `submitted_date` de todos registros da tabela `purchase_orders`
16. Exibir a `submitted_date` das `purchase_orders` que estão entre `2006-01-26 00:00:00` e `2006-03-31 23:59:59`r
17. Mostrar os registros das colunas `id` e `supplier_id` das `purchase_orders` em que os `supplier_id` sejam tanto 1, ou 3, ou 5, ou 7
18. Mostrar todos os registros de `purchase_orders` que tem o `supplier_id` igual a 3 e `status_id` igual a 2
19. Mostrar a quantidade de pedidos que foram feitos na tabela `orders` pelo `employee_id` igual a 5 ou 6, e que foram enviados através do método(coluna) `shipper_id` igual a 2
Manipulação de tabelas:
20. Adicionar à tabela `order_details` um registro com: `order_id`: 69, `product_id`: 80, `quantity`: 15.0000, `unit_price`: 15.0000, `discount`: 0, `status_id`: 2, `date_allocated`: NULL, `purchase_order_id`: NULL e `inventory_id`: 129
21. Adicionar com um único `INSERT`, duas linhas à tabela `order_details` com os mesmos dados do requisito 20
22. Atualizar os dados de `discount` do `order_details` para 15
23. Atualizar os dados da coluna `discount` da tabela `order_details` para 30, onde o valor na coluna `unit_price` seja menor que 10.0000
24. Atualizar os dados da coluna `discount` da tabela `order_details` para 45, onde o valor na coluna `unit_price` seja maior que 10.0000 e o `id` seja um número entre 30 e 40
25. Deletar todos os dados em que a `unit_price` da tabela `order_details` seja menor que 10.0000
26. Deletar todos os dados em que a `unit_price` da tabela `order_details` seja maior que 10.0000
27. Deletar todos os dados da tabela `order_details`
Banco de dados (Northwind) e docker compose (docker-compose.yml) fornecidos pela Trybe.