Banco de dados - 2 º Semestre - Bimestre 2 - Aula 3

Page 1

INSTRUÇÕES SQL

Professor Anderson Carvalho


INSERINDO DADOS Instrução INSERT INSERT INTO <tabela> [(<campo1>[, <campo2>, ...])] VALUES (<valor1>[, <valor2>, ...])

• Insere novos dados no banco; • Sempre que possível identificar e valorar todos os campos da tabela para evitar registros errôneos;

• Em campos AUTO_INCREMENT não é obrigatório a identificação do campo, porém pode causar incompatibilidades e erros. Para evitar, utilize NULL; • Valores NULL na expressão serão substituídos pelo valor

padrão do campo, quando permitido;


INSERINDO DADOS Exemplos de INSERT INSERT INTO tb_funcionarios (nome, escolaridade, cargo, salario) VALUES(„Jeferson‟, „Pós-Graduado‟, „Analista de Marketing‟, 2300);

IDENTIFICANDO O CAMPO ID (E OS DESEJÁVEIS) INSERT INTO tb_funcionarios (id, nome, escolaridade, cargo, salario) VALUES(null, „Jeferson‟, „Pós-Graduado‟, „Analista de Marketing‟, 2300);


INSERINDO DADOS Instrução INSERT • O conteúdo da linha é inserido entre parênteses após o parâmetro VALUES. • Os valores de caracteres (string) e datas devem ser inseridos entre apóstrofos (‘ ’) ou aspas (“ “). • As entradas numéricas não são cercadas por apóstrofos ou aspas. • As entradas de atributos são separadas por vírgulas. • É necessário um valor para cada coluna.

• Campos que permitem valores nulos não precisam ser listados. • É possível inserir conjuntos de dados para múltiplas linhas.


INSERINDO DADOS Exemplos de INSERT Conjuntos de dados para múltiplas linhas INSERT INTO tb_funcionarios (nome, escolaridade, cargo, salario) VALUES („Jeferson‟, „Pós-Graduado‟,„Analista de Marketing‟, 2300), („Pedro‟, „Graduado‟,„Analista de Sistemas‟, 2100);


VISUALIZANDO DADOS Instrução SELECT

SELECT <campo> FROM <tabela> [<cláusulas, operadores e valores>]

• Instrução mais importante da linguagem; • Através de uma consulta SELECT é possível visualizar qualquer dado contido (ou não) no banco; • Permite a execução de funções que retornarão dados

processados pelo servidor. • Exibe todos os campos utilizando SELECT * FROM ...


VISUALIZANDO DADOS Exemplos de SELECT

SELECT NOME FROM tb_funcionarios

SELECT NOME, CARGO FROM tb_funcionarios

SELECT * FROM tb_funcionarios


VISUALIZANDO DADOS Parâmetro WHERE

SELECT <campo> FROM <tabela> WHERE <condições>

• Argumento opcional da instrução SELECT e outras; • Filtra os resultados que atendem a determinadas condições; • Utilizado na maioria das vezes com comparação de

valores (da mesma tabela ou de outras).


VISUALIZANDO DADOS Exemplos de WHERE

SELECT * FROM tb_funcionarios WHERE escolaridade = “Graduado”;

SELECT * FROM tb_funcionarios WHERE escolaridade = “Graduado” AND cargo != “Analista de Sistemas”;


VISUALIZANDO DADOS Parâmetro ORDER BY SELECT <campo> FROM <tabela> ORDER BY <campo/critério> [ASC|DESC]

• Ordena os registros de uma consulta de acordo com o critério utilizado; • Nas aplicações, auxilia na identificação do primeiro

(menor) e do último registro (maior); • Recomendado o uso após o WHERE • DESC: ordenação decrescente • ASC: ordenação crescente (padrão)


VISUALIZANDO DADOS Exemplos de ORDER BY

SELECT * FROM tb_funcionarios ORDER BY NOME

SELECT * FROM tb_funcionarios ORDER BY salario DESC


VISUALIZANDO DADOS Parâmetro INNER JOIN SELECT <campo> FROM <tabela1> JOIN <tabela2> ON <tabela1>.<campo> = <tabela2>.<campo> [WHERE <condições>]

• INNER JOIN é uma variação do comando JOIN, sendo um dos mais importantes do SQL; • Possibilita unir duas ou mais tabelas a partir de campos

correspondentes entre elas; • Necessários bancos normalizados; • Permite o uso da função USING(<campo>) quando os campos de ambas as tabelas forem de mesmo nome.


VISUALIZANDO DADOS Exemplos de INNER JOIN SELECT nome, departamento FROM tb_funcionarios INNER JOIN tb_cargos ON tb_funcionarios.cargo = tb_cargos.cargo

-- É o mesmo que: SELECT nome, departamento FROM tb_funcionarios INNER JOIN

tb_cargos USING(cargo)

SELECT * from tb_produtos INNER JOIN tb_marcas ON tb_produtos.marca = tb_marcas.id


VISUALIZANDO DADOS Sugestão ao uso de INNER JOIN com WHERE SELECT * from tb_produtos INNER JOIN tb_marcas ON tb_produtos.marca = tb_marcas.id

É O MESMO QUE: SELECT * from tb_produtos, tb_marcas WHERE tb_produtos.marca = tb_marcas.id


VISUALIZANDO DADOS Parâmetro AS (apelido) SELECT <campo> AS <apelido> FROM <tabela1> <apelido> [WHERE <condições>]

• Apelida-se um capo através do AS após o nome do campo; • Tais termos substituirão os nomes dos campos nas

colunas contendo os resultados da pesquisa; • Apelida-se uma tabela simplesmente inserindo um apelido posteriormente ao seu nome (sem AS);


VISUALIZANDO DADOS Exemplos de AS SELECT nome AS funcionario, departamento as area FROM tb_funcionarios f INNER JOIN tb_cargos c ON f.cargo = c.cargo

É O MESMO QUE: SELECT nome AS funcionario, departamento as area FROM tb_funcionarios f, tb cargos c WHERE f.cargo = c.cargo


VISUALIZANDO DADOS Exemplos de AS VISUALIZANDO COLUNAS COMPUTADAS: SELECT nome AS funcionario, salario * 0.1 AS aumento FROM tb_funcionarios f


ATUALIZANDO DADOS Instrução UPDATE UPDATE <tabela> SET <campo> = <valor> [, <campo2> = <valor2>, ...] [WHERE <condições>]

• Atualiza dados existentes no banco; • O parâmetro WHERE filtra a atualização no intuito de alterar apenas os registros que atendam a condição especificada;

• Caso não seja definido o WHERE todos os registros do campo em questão serão atualizados com o valor especificado;


ATUALIZANDO DADOS Exemplos de UPDATE ALTERANDO TODAS AS LINHAS DA TABELA (CUIDADO) UPDATE tb_funcionarios SET NOME = „Luiz‟;

ALTERANDO APENAS UMA LINHA UPDATE tb_funcionarios SET NOME = „Luiz‟ WHERE ID = 3;


EXCLUINDO DADOS Instrução DELETE DELETE FROM <tabela> [WHERE <condições>]

• Exclui um ou mais registros de uma tabela; • Assim como o UPDATE o parâmetro WHERE deve ser utilizado para filtrar os registros a serem excluídos;

• Caso não seja definido o WHERE na expressão, todos os registros da tabela serão excluídos; • Deve-se tomar cuidado ao utilizar dados duplicados como filtro para o parâmetro WHERE.


EXCLUINDO DADOS Exemplo de DELETE -- deletando apenas um registro DELETE FROM tb_funcionarioso WHERE ID = 2;

-- deletando todos os registros DELETE FROM tb_funcionarios;

É O MESMO QUE: TRUNCATE tb_funcionarios


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.