O SQL SERVER é o servidor de banco de dados que armazena e gerencia os dados, enquanto o SQL
SERVER MANAGEMENT STUDIO (SSMS) é uma ferramenta que fornece uma interface gráfica e recursos
para gerenciar e interagir com o SQL Server. Você usa o SSMS para se conectar ao SQL Server para
desenvolvimento e consultas em um ambiente mais amigável e visual.
SQL SERVER MANAGEMENT STUDIO SSMS
Para restaurar um novo banco de dados, selecionamos, com o botão direito, a opção Databases na guia
lateral esquerda e depois clicamos em Restore Database…
No campo source, selecionamos device e depois “...”
Depois, em add
Procuramos o arquivo .bak no local. A dica é deixar o arquivo no Disco Local:/C
Depois, Ok e Ok novamente. Depois, com o campo progress como done no canto inferior direito, clicamos em
Ok de novo.
Agora, podemos notar que o database foi importado.
Para criar uma nova consulta, clicamos em New Query e selecionamos o database.
Note que em cada database, na pasta table temos a relação de todas as tabelas disponíveis:
Para começar, é indicado a análise exploratória a partir de consultas simples SELECT em cada tabela do
banco de dados para entendê-las.
MYSQL E MYSQL WORKBENCH
Para criar um novo banco de dados (ou schemas), vamos clicar no ícone acima, renomear e aplicar.
Logo, teremos o novo banco de dados criado.
Agora, para adicionar as tabelas, clicamos em:
Localizamos a pasta em que os arquivos .sql estão:
E clicar em Start Import no canto inferior direito.
Agora podemos fechar a guia e é possível ver que as tabelas foram devidamente importadas para o schema
banco.
Agora, podemos selecionar o banco de dados como padrão para usá-los nas consultas:
Podemos criar uma nova consulta e rodar conforme abaixo:
SELECT * FROM TABLE;
SELECT COL1, COL2 FROM TABLE;
SELECT COL1 AS ‘COLUMN1’, COL2 AS ‘COLUMN2’ FROM TABLE;
Para renomear colunas que estamos visualizando, mas sem renomeá-las nas tabelas originais.
SELECT * FROM TABLE LIMIT 100;
Para limitar a visualização para até 100 linhas.
SELECT * FROM TABLE ORDER BY COLX, COLY ASC;
SELECT * FROM TABLE WHERE COLX = “TEXT”;
SELECT * FROM TABLE WHERE COLY > 200;
SELECT * FROM TABLE WHERE COLX = “TEXT” AND COLY <> 300;
SELECT * FROM TABLE WHERE COLZ >= “aaaa-mm-dd”
SELECT SUM(COL1) FROM TABLE;
SELECT SUM(COL1) AS NAME FROM TABLE;
COUNT(COL1)
AVG(COL1)
MIN(COL1)
MAX(COL1)
SELECT SUM(COL1) FROM TABLE GROUP BY CATEGORY;
SELECT MARCA, COUNT(ID_PRODUTO) FROM PRODUTOS GROUP BY MARCA;
O comando JOIN permite que colunas de uma tabela sejam relacionadas a colunas de outra tabela,
geralmente a coluna ID.
A tabela B será a tabela complementar atribuída a tabela principal A
Dada a seguinte query, sendo PEDIDOS a tabela A:
SELECT ID_LOJA, DATA, RECEITA FROM PEDIDOS;
Podemos atribuir o nome da loja através do ID LOJA. Assim, podemos consultar:
SELECT LOJA, DATA, RECEITA FROM PEDIDOS
INNER JOIN LOJAS ON PEDIDOS.ID_LOJA = LOJAS.ID_LOJA;
Sendo LOJAS a tabela B
Agora, podem relacionar todas as colunas da tabela B (por exemplo, gerente e endereço) agora que
configuramos o ID em comum:
SELECT LOJA, DATA, RECEITA, GERENTE, ENDEREÇO
FROM PEDIDOS
INNER JOIN LOJAS ON PEDIDOS.ID_LOJA = LOJAS.ID_LOJA;
Erro: Não podemos selecionar ID_LOJA, porque é uma coluna ambígua. Por isso, na query do INNER JOIN
escrevemos LOJA em SELECT (e não ID_LOJA – a não ser que optamos por especificar, por exemplo, por
LOJAS.ID_LOJA).
Outro exemplo,
SELECT * FROM PEDIDOS
INNER JOIN LOJAS ON PEDIDOS.ID_LOJA = LOJAS.ID_LOJA;
Ou seja, todas as colunas das duas tabelas foram combinadas.
Outro exemplo,
Queremos calcular a receita de vendas por loja
SELECT LOJA, SUM(RECEITA) AS ‘RECEITA TOTAL’ FROM PEDIDOS
INNER JOIN LOJAS ON PEDIDOS.ID_LOJA = LOJAS.ID_LOJA
GROUP BY LOJA;
JOIN: INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN e CROSS JOIN
[Link]
Em ordem, temos
INNER JOIN
LEFT JOIN [OUTTER JOIN]
RIGHT JOIN [OUTTER JOIN]
FULL JOIN [OUTTER JOIN]
INNER JOIN
Retorna os registros em comum entre as tabelas A e B. Portanto, os registros Antonia e C# não são
apresentados. Queremos consultar os autores cadastrados que escreveram livros e os livros que possuem
autores cadastrados.
LEFT JOIN
Retorna todos os registros da tabela A, independente de estarem interligados ou não à tabela B.
Portanto, o registro Antonia é retornado.
RIGHT JOIN
Retorna todos os registros da tabela B, independente de estarem interligados ou não à tabela A. Portanto, o
registro C# é retornado.
FULL JOIN
Retorna todos os registros da tabela B e todos os livros da tabela A.
O MySQL não possui essa fórmula.
INNER JOIN
SELECT COL1, COL2
FROM TABELA1
INNER JOIN TABELA2
ON CHAVE
Apenas as informações em comum entre as duas tabelas – sem a autora Antonia, porque não escreveu
nenhum livro; sem o livro C# porque não possui autor.
LEFT JOIN
SELECT COL1, COL2
FROM TABELA1 LEFT JOIN TABELA2
ON CHAVE
Todas informações da tabela A, independentemente de relação com a tabela B – inclusive com a autora
Antonia.
RIGHT JOIN
SELECT COL1, COL2
FROM TABELA1 RIGHT JOIN TABELA2
ON CHAVE
Todas informações da tabela B, independentemente de relação com a tabela A – inclusive com o livro C#.
FULL JOIN
SELECT COL1, COL2
FROM TABELA1 FULL JOIN TABELA2
ON CHAVE
SELECT COL1, COL2
FROM TABELA1 LEFT JOIN TABELA2
ON CHAVE
UNION
SELECT COL1, COL2
FROM TABELA1 RIGHT JOIN TABELA2
ON CHAVE
CROSS JOIN
SELECT *
FROM TABELA1 CROSS JOIN TABELA2
Ou
SELECT *
FROM TABELA1, TABELA2
Na tabela A temos 7 registros e na tabela B temos 6 registros. Portanto, o CROSS JOIN combina os 7
registros da tabela A com os 6 registros da tabela B, somando 42 combinações.
Para essa consulta, queremos responder: Quais são as possíveis combinações entre empregado e
departamento?
IMPORTAR ARQUIVO .CSV
Se estivermos importando dados para uma tabela inexistente no banco de dados, podemos criá-la
previamente:
Vamos preencher os campos marcados. Em Column Name, clicamos sobre para escrever o nome da coluna,
em seguida selecionamos o tipo da variável e marcamos not null.
Depois, vamos importar os dados do arquivo .csv selecionando a seguinte opção após clicar com o botão
direito sobre o nome da tabela a serem importados os dados:
Depois, localizamos o arquivo:
Em seguida, vamos selecionar a opção use existing table. Se quisermos apagar os dados da tabela antes de
importar os novos dados, marcamos a opção truncate table before import. Geralmente, não é recomendado
criar a nova tabela dessa maneira – para isso, criar a tabela como criamos anteriormente.
Depois, vamos selecionar a coluna de destino na tabela:
Depois, seguimos clicando em Next > até concluir.
Pronto, os dados foram importados.
ATUALIZAR REGISTROS DE TABELA
UPDATE TABELA
SET COL1 = ALTERAR
WHERE COL2 = X
Por exemplo, queremos alterar a marca de um produto:
UPDATE PRODUTOS
SET MARCA = 'LENOVO'
WHERE ID = 15;