SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Downloaden Sie, um offline zu lesen
SGBD - MySQL
Relacionando Tabelas
    É possível recuperar dados de duas tabelas
●

    que possuem relacionamento, ao mesmo
    tempo usando o comando SELECT.
    A tabela tbproduto (codigo, descricao, unidade,
●

    catprod, valor) e tbcatprod (codigo, descricao)
    pode servir de exemplo:
    Vamos criar estas duas tabelas no mysql.
●
Relacionando Tabelas
shell> create table tbproduto(codigo int, descricao
varchar(40), unidade varchar(2), catprod int, valor
double(12,2), primary key(codigo));
shell> create table tbcatprod(codigo int, descricao
varchar(40), primary key(codigo), foreign key
(codigo) references tbproduto(catprod));
    Povoe as duas tabelas.
●
Relacionando Tabelas
    Agora vamos usar o comando SELECT para
●

    selecionar as duas tabelas ao mesmo tempo.
shell> select tbproduto.descricao,
tbcatprod.descricao from tbproduto, tbcatprod
where tbproduto.catprod=tbcatprod.codigo;
    A sintaxe é: SELECT tabela1.campo1,
●

    tabela2.campo2 from tabela1, tabela2 where
    tabela1.chave_primaria=tabela2.chave_estrang
    eira;
Ordenando registros
    A clausula Order by permite ordenar o
●

    resultado do SELECT por qualquer campo das
    tabelas envolvidas.
shell> select tbproduto.descricao,
tbcatprod.descricao from tbproduto, tbcatprod
where tbproduto.catprod=tbcatprod.codigo order
by tbproduto.descricao;
    Neste caso o resultado deste SELECT será
●

    ordenado pelo campo descricao da tabela
    tbproduto.
Ordenando registros
    É possível ainda determinar a forma da
●

    ordenação. ASC ou DESC
shell> select tbproduto.descricao,
tbcatprod.descricao from tbproduto, tbcatprod
where tbproduto.catprod=tbcatprod.codigo order
by tbproduto.descricao;
    Neste caso o resultado deste SELECT será
●

    ordenado pelo campo descricao da tabela
    tbproduto em ordem ASCENDENTE. Este é o
    padrão não sendo necessário informar ASC
Ordenando registros
shell> select tbproduto.descricao,
tbcatprod.descricao from tbproduto, tbcatprod
where tbproduto.catprod=tbcatprod.codigo order
by tbproduto.descricao DESC;
    Neste caso o resultado deste SELECT será
●

    ordenado pelo campo descricao da tabela
    tbproduto em ordem DESCENDENTE.
Agrupar resultados em consultas
    A clausula Group by pode ser usada para
●

    dividir as linhas de uma tabela em grupos
    menores.
shell> select * from tbproduto group by catprod;
Agrupar resultados em consultas
    A clausula Having pode ser usada para
●

    restringir quais grupos devem ser exibidos.
shell> select * from tbproduto group by catprod
having > 3;
Junções
    A operação Join serve para vincular tabelas. A
●

    sintaxe para uso do Join é: SELECT campos
    FROM tabela1 INNER JOIN tabela2 ON
    tabela1.campo1 comp tabela.camp2.
    A item comp é qualquer operador de
●

    comparação relacional =, <, <>, <=, =>.
Uniões
    Para unir duas linhas de consultas utiliza-se a
●

    palavras UNION.
    (SELECT * FROM tabela WHERE campo=1)
●

    UNION (SELECT * FROM tabela2 WHERE
    cod=2);
Sub Consultas
    Uma “SUBQUERY” é uma instrução SELECT
●

    dentro de outra instrução (podendo ser um
    select, insert, delete ou update).
    SELECT * from tabela1 where
●

    codigo=ANY(SELECT codigo FROM tabela2);
    ANY ou SOME – Servem para recuperar
●

    registros na consulta principal que satisfaçam a
    comparação com quaisquer registros
    recuperados na subconsulta)
Sub Consultas
    ALL – Serve para recuperar apenas os
●

    registros na consulta principal que satisfaçam a
    comparação com todos os registros
    recuperados na subconsulta.
Utilizando funções em consultas
    Função SUM – Calcula o total de todos os
●

    valores de uma coluna, ela funciona da
    seguinte maneira: SUM (campo + (campo *
    0.1)).
    Exemplo: SELECT SUM(valor) FROM
●

    tbproduto;
Utilizando funções em consultas
    Função COUNT – Usado em conjunto com o
●

    comando SELECT para contar todas as linhas
    de uma tabela ou as colunas que casem com
    uma condição especificada.
    Exemplo: SELECT COUNT(*) FROM
●

    tbprodutos;
    O exemplo acima irá contar todos os registros
●

    da tabela e os retornará em um campo o total
    de registros da tabela.
Utilizando funções em consultas
    Função MIN – Retorna o menor valor não vazio
●

    de uma certa coluna.
    Exemplo: SELECT MIN(quantidade) FROM
●

    tbprodutos;
    O exemplo acima retornará o menor valor do
●

    campo quantidade da tabela tbprodutos.
Utilizando funções em consultas
    Função MAX – Retorna o maior valor não vazio
●

    de uma certa coluna.
    Exemplo: SELECT MAX(quantidade) FROM
●

    tbprodutos;
    O exemplo acima retornará o maior valor do
●

    campo quantidade da tabela tbprodutos.
Atualizar dados na Tabela
    O comando UPDATE serve para atualizar
●

    dados especificos na tabela.
    A sintaxe do comando UPDATE é: UPDATE
●

    tabela set campo=novo_valor WHERE
    campo=critério;
    Exemplo: UPDATE cliente SET
●

    cidade='Goiania' WHERE cidade='Anápolis';
Apagar dados na tabela
    O comando DELETE serve para apagar dados
●

    especificos na tabela.
    A sintaxe do comando DELETE é: DELETE
●

    from tabela;
    Exemplo: DELETE from cliente;
●


    O exemplo acima irá apagar todos os dados da
●

    tabela cliente.
    Para apagar registros especificos utiliza-se a
●

    clausula WHERE.
Usando ROLLBACK e COMMIT
    COMMIT é utilizado para armazenar as
●

    alterações em disco.
    ROLLBACK é utilizado para ignorar as
●

    alterações efetuadas desde o ínicio da sua
    transação.
    Sintaxe : START TRANSACTION; comandos
●

    quaisquer COMMIT;

Weitere ähnliche Inhalte

Was ist angesagt? (18)

Apostila Origin PET Química UFVJM
Apostila Origin PET Química UFVJMApostila Origin PET Química UFVJM
Apostila Origin PET Química UFVJM
 
12 SQL - Junções / Join
12 SQL - Junções / Join12 SQL - Junções / Join
12 SQL - Junções / Join
 
Sql otimizando consulta com sql
Sql otimizando consulta com sqlSql otimizando consulta com sql
Sql otimizando consulta com sql
 
Um pouco sobre sql
Um pouco sobre sqlUm pouco sobre sql
Um pouco sobre sql
 
Aula 23 - Excel 2010
Aula 23 - Excel 2010Aula 23 - Excel 2010
Aula 23 - Excel 2010
 
Office 2003
Office 2003Office 2003
Office 2003
 
Dicas de excel - 06 - FUNÇÃO PROCV (VLOOKUP)
Dicas de excel - 06 - FUNÇÃO PROCV (VLOOKUP)Dicas de excel - 06 - FUNÇÃO PROCV (VLOOKUP)
Dicas de excel - 06 - FUNÇÃO PROCV (VLOOKUP)
 
07 Consultando os dados de uma tabela
07 Consultando os dados de uma tabela07 Consultando os dados de uma tabela
07 Consultando os dados de uma tabela
 
Aula 7 sql - select
Aula 7   sql - selectAula 7   sql - select
Aula 7 sql - select
 
06 Trabalhando com registros
06 Trabalhando com registros06 Trabalhando com registros
06 Trabalhando com registros
 
Consultas básicas em SQL
Consultas básicas em SQLConsultas básicas em SQL
Consultas básicas em SQL
 
Inner Join
Inner JoinInner Join
Inner Join
 
Apostila de sql oracle
Apostila de sql oracleApostila de sql oracle
Apostila de sql oracle
 
apostila de sql - oracle
 apostila de sql - oracle  apostila de sql - oracle
apostila de sql - oracle
 
DOJO - TDD com C++
DOJO - TDD com C++DOJO - TDD com C++
DOJO - TDD com C++
 
TDD em C++
TDD em C++TDD em C++
TDD em C++
 
Lp m2(parte4)
Lp m2(parte4)Lp m2(parte4)
Lp m2(parte4)
 
Aula 8 select & joi ns
Aula 8   select & joi nsAula 8   select & joi ns
Aula 8 select & joi ns
 

Ähnlich wie Aula 300309

Ähnlich wie Aula 300309 (20)

MySQL Query Optimization
MySQL Query OptimizationMySQL Query Optimization
MySQL Query Optimization
 
Principais instruções em sql
Principais instruções em sqlPrincipais instruções em sql
Principais instruções em sql
 
Aula 12 banco de dados
Aula 12   banco de dadosAula 12   banco de dados
Aula 12 banco de dados
 
Banco de Dados (parte 02)
Banco de Dados (parte 02)Banco de Dados (parte 02)
Banco de Dados (parte 02)
 
Revisao_SQL_Parte_I.ppt
Revisao_SQL_Parte_I.pptRevisao_SQL_Parte_I.ppt
Revisao_SQL_Parte_I.ppt
 
Sql junções
Sql junçõesSql junções
Sql junções
 
At00 apostila sql
At00   apostila sqlAt00   apostila sql
At00 apostila sql
 
Funções de grupo, agrupamentos e pesquisa em
Funções de grupo, agrupamentos e pesquisa emFunções de grupo, agrupamentos e pesquisa em
Funções de grupo, agrupamentos e pesquisa em
 
BD I - Aula 15 C - Manutencao de tabelas
BD I - Aula 15 C - Manutencao de tabelasBD I - Aula 15 C - Manutencao de tabelas
BD I - Aula 15 C - Manutencao de tabelas
 
Modulo 15 PSI
Modulo 15 PSIModulo 15 PSI
Modulo 15 PSI
 
Consultas SQL
Consultas SQLConsultas SQL
Consultas SQL
 
Aula 11 banco de dados
Aula 11   banco de dadosAula 11   banco de dados
Aula 11 banco de dados
 
Aula 11 banco de dados
Aula 11   banco de dadosAula 11   banco de dados
Aula 11 banco de dados
 
Exercícios de mysql
Exercícios de mysqlExercícios de mysql
Exercícios de mysql
 
Apostila de sql
Apostila de sqlApostila de sql
Apostila de sql
 
TechEd 2005: Novos Recursos T-SQL (SQL 2005)
TechEd 2005: Novos Recursos T-SQL (SQL 2005)TechEd 2005: Novos Recursos T-SQL (SQL 2005)
TechEd 2005: Novos Recursos T-SQL (SQL 2005)
 
Melhorando o desempenho de suas consultas no MySql
Melhorando o desempenho de suas consultas no MySqlMelhorando o desempenho de suas consultas no MySql
Melhorando o desempenho de suas consultas no MySql
 
Fundamentos de SQL - Parte 3 de 8
Fundamentos de SQL - Parte 3 de 8Fundamentos de SQL - Parte 3 de 8
Fundamentos de SQL - Parte 3 de 8
 
Apostila excel-avancado
Apostila excel-avancadoApostila excel-avancado
Apostila excel-avancado
 
Sql basico postgresql_v12
Sql basico postgresql_v12Sql basico postgresql_v12
Sql basico postgresql_v12
 

Mehr von Wendell Bento Geraldes

Mehr von Wendell Bento Geraldes (20)

Palestra Edmodo
Palestra EdmodoPalestra Edmodo
Palestra Edmodo
 
Responsabilidade Civil e Penal sobre a Tutela da Informação
Responsabilidade Civil e Penal sobre a Tutela da InformaçãoResponsabilidade Civil e Penal sobre a Tutela da Informação
Responsabilidade Civil e Penal sobre a Tutela da Informação
 
Pandorga Gnu/Linux
Pandorga Gnu/LinuxPandorga Gnu/Linux
Pandorga Gnu/Linux
 
O Software Livre na Educação Básica
O Software Livre na Educação BásicaO Software Livre na Educação Básica
O Software Livre na Educação Básica
 
Skolelinux
SkolelinuxSkolelinux
Skolelinux
 
Palestra Anapolivre
Palestra Anapolivre Palestra Anapolivre
Palestra Anapolivre
 
Palestra sobre o Pandorga no FLISOL 2010
Palestra sobre o Pandorga no FLISOL 2010Palestra sobre o Pandorga no FLISOL 2010
Palestra sobre o Pandorga no FLISOL 2010
 
Palestra emsl2010
Palestra emsl2010Palestra emsl2010
Palestra emsl2010
 
O Uso Do Software Livre Como Ferramenta Pedagogica Nas Escolas
O Uso Do Software Livre Como Ferramenta Pedagogica Nas EscolasO Uso Do Software Livre Como Ferramenta Pedagogica Nas Escolas
O Uso Do Software Livre Como Ferramenta Pedagogica Nas Escolas
 
Group By E Having
Group By E HavingGroup By E Having
Group By E Having
 
Comando Update
Comando UpdateComando Update
Comando Update
 
Comando Delete
Comando DeleteComando Delete
Comando Delete
 
Aula 180309
Aula 180309Aula 180309
Aula 180309
 
Aula 200309
Aula 200309Aula 200309
Aula 200309
 
Aula 160309
Aula 160309Aula 160309
Aula 160309
 
Instalar Ocomon Ubuntu 2
Instalar Ocomon Ubuntu 2Instalar Ocomon Ubuntu 2
Instalar Ocomon Ubuntu 2
 
Instalar Ocomon Ubuntu 2
Instalar Ocomon Ubuntu 2Instalar Ocomon Ubuntu 2
Instalar Ocomon Ubuntu 2
 
Palestra 1º /dev/net 2008
Palestra 1º /dev/net 2008Palestra 1º /dev/net 2008
Palestra 1º /dev/net 2008
 
O Uso Da Informatica Na Educação e o Software Livre
O Uso Da Informatica Na Educação e o Software LivreO Uso Da Informatica Na Educação e o Software Livre
O Uso Da Informatica Na Educação e o Software Livre
 
Palestra Sgsl 2008
Palestra Sgsl 2008Palestra Sgsl 2008
Palestra Sgsl 2008
 

Aula 300309

  • 2. Relacionando Tabelas É possível recuperar dados de duas tabelas ● que possuem relacionamento, ao mesmo tempo usando o comando SELECT. A tabela tbproduto (codigo, descricao, unidade, ● catprod, valor) e tbcatprod (codigo, descricao) pode servir de exemplo: Vamos criar estas duas tabelas no mysql. ●
  • 3. Relacionando Tabelas shell> create table tbproduto(codigo int, descricao varchar(40), unidade varchar(2), catprod int, valor double(12,2), primary key(codigo)); shell> create table tbcatprod(codigo int, descricao varchar(40), primary key(codigo), foreign key (codigo) references tbproduto(catprod)); Povoe as duas tabelas. ●
  • 4. Relacionando Tabelas Agora vamos usar o comando SELECT para ● selecionar as duas tabelas ao mesmo tempo. shell> select tbproduto.descricao, tbcatprod.descricao from tbproduto, tbcatprod where tbproduto.catprod=tbcatprod.codigo; A sintaxe é: SELECT tabela1.campo1, ● tabela2.campo2 from tabela1, tabela2 where tabela1.chave_primaria=tabela2.chave_estrang eira;
  • 5. Ordenando registros A clausula Order by permite ordenar o ● resultado do SELECT por qualquer campo das tabelas envolvidas. shell> select tbproduto.descricao, tbcatprod.descricao from tbproduto, tbcatprod where tbproduto.catprod=tbcatprod.codigo order by tbproduto.descricao; Neste caso o resultado deste SELECT será ● ordenado pelo campo descricao da tabela tbproduto.
  • 6. Ordenando registros É possível ainda determinar a forma da ● ordenação. ASC ou DESC shell> select tbproduto.descricao, tbcatprod.descricao from tbproduto, tbcatprod where tbproduto.catprod=tbcatprod.codigo order by tbproduto.descricao; Neste caso o resultado deste SELECT será ● ordenado pelo campo descricao da tabela tbproduto em ordem ASCENDENTE. Este é o padrão não sendo necessário informar ASC
  • 7. Ordenando registros shell> select tbproduto.descricao, tbcatprod.descricao from tbproduto, tbcatprod where tbproduto.catprod=tbcatprod.codigo order by tbproduto.descricao DESC; Neste caso o resultado deste SELECT será ● ordenado pelo campo descricao da tabela tbproduto em ordem DESCENDENTE.
  • 8. Agrupar resultados em consultas A clausula Group by pode ser usada para ● dividir as linhas de uma tabela em grupos menores. shell> select * from tbproduto group by catprod;
  • 9. Agrupar resultados em consultas A clausula Having pode ser usada para ● restringir quais grupos devem ser exibidos. shell> select * from tbproduto group by catprod having > 3;
  • 10. Junções A operação Join serve para vincular tabelas. A ● sintaxe para uso do Join é: SELECT campos FROM tabela1 INNER JOIN tabela2 ON tabela1.campo1 comp tabela.camp2. A item comp é qualquer operador de ● comparação relacional =, <, <>, <=, =>.
  • 11. Uniões Para unir duas linhas de consultas utiliza-se a ● palavras UNION. (SELECT * FROM tabela WHERE campo=1) ● UNION (SELECT * FROM tabela2 WHERE cod=2);
  • 12. Sub Consultas Uma “SUBQUERY” é uma instrução SELECT ● dentro de outra instrução (podendo ser um select, insert, delete ou update). SELECT * from tabela1 where ● codigo=ANY(SELECT codigo FROM tabela2); ANY ou SOME – Servem para recuperar ● registros na consulta principal que satisfaçam a comparação com quaisquer registros recuperados na subconsulta)
  • 13. Sub Consultas ALL – Serve para recuperar apenas os ● registros na consulta principal que satisfaçam a comparação com todos os registros recuperados na subconsulta.
  • 14. Utilizando funções em consultas Função SUM – Calcula o total de todos os ● valores de uma coluna, ela funciona da seguinte maneira: SUM (campo + (campo * 0.1)). Exemplo: SELECT SUM(valor) FROM ● tbproduto;
  • 15. Utilizando funções em consultas Função COUNT – Usado em conjunto com o ● comando SELECT para contar todas as linhas de uma tabela ou as colunas que casem com uma condição especificada. Exemplo: SELECT COUNT(*) FROM ● tbprodutos; O exemplo acima irá contar todos os registros ● da tabela e os retornará em um campo o total de registros da tabela.
  • 16. Utilizando funções em consultas Função MIN – Retorna o menor valor não vazio ● de uma certa coluna. Exemplo: SELECT MIN(quantidade) FROM ● tbprodutos; O exemplo acima retornará o menor valor do ● campo quantidade da tabela tbprodutos.
  • 17. Utilizando funções em consultas Função MAX – Retorna o maior valor não vazio ● de uma certa coluna. Exemplo: SELECT MAX(quantidade) FROM ● tbprodutos; O exemplo acima retornará o maior valor do ● campo quantidade da tabela tbprodutos.
  • 18. Atualizar dados na Tabela O comando UPDATE serve para atualizar ● dados especificos na tabela. A sintaxe do comando UPDATE é: UPDATE ● tabela set campo=novo_valor WHERE campo=critério; Exemplo: UPDATE cliente SET ● cidade='Goiania' WHERE cidade='Anápolis';
  • 19. Apagar dados na tabela O comando DELETE serve para apagar dados ● especificos na tabela. A sintaxe do comando DELETE é: DELETE ● from tabela; Exemplo: DELETE from cliente; ● O exemplo acima irá apagar todos os dados da ● tabela cliente. Para apagar registros especificos utiliza-se a ● clausula WHERE.
  • 20. Usando ROLLBACK e COMMIT COMMIT é utilizado para armazenar as ● alterações em disco. ROLLBACK é utilizado para ignorar as ● alterações efetuadas desde o ínicio da sua transação. Sintaxe : START TRANSACTION; comandos ● quaisquer COMMIT;