• Nenhum resultado encontrado

Acesso ao bando de dados

No documento LP I-1 101 – 102 (páginas 127-135)

Os primeiros parênteses guardam os nomes das colunas onde se deseja inserir os dados. Os parênteses após o termo VAL UES guardam os dados que devem ser inse­ ridos nas respectivas colunas. É importante lembrar que as instruções SQL sempre terminam com ponto-e-vírgula.

Novos dados podem ser inseridos da mesma forma, e em alguns casos certas colu­ nas podem ser deixadas em branco:

I NSERT I NTO cl i ente ( nome , ema i l ) VALUES ( ' Montgomery Burns ' , ' monty@powe rpl ant . com ' ) ;

Nesse caso, a coluna telefone foi omitida, tornando esse campo vazio para a nova linha inserida.

O campo id é automaticamente criado e identifica a linha única correspondente aos dados inseridos. O campo de identificação costuma ser um número numérico inteiro, que é incrementado a cada nova inserção na tabela.

Consulta de dados

Para exibir todas as colunas de todas as linhas de uma tabela, utiliza-se o comando

SELECT na sua forma mais simples:

Para limitar a consulta a colunas específica, basta citá-las no lugar do *:

Para selecionar apenas uma ou mais linhas que obedeçam a um critério, utiliza-se a instrução WHERE:

I N SE RT I NTO c liente ( nome, ema i l. telefon e ) VALUES ( ' Ned Flanders' , '+ 'n ed@c h u rc h. com ', ' 1 234 -5678 ') ;

S E LECT * F ROM c l i ente ;

i d 1 2 nome Ned F l anders Montgome ry B u rns tel efone 1 2 34 - 5678 ema i l ned@c h u rc h.com

monty@powerpla n t.com

| | | | | | | | | | | |

S E LECT i d , n ome F ROM c l i ente ; i d n ome 1 2 Ned Fl anders Montgomery B u r n s | | |

A ordem com que as linhas são exibidas pode ser alterada utilizando a instrução

ORDER BY:

No exemplo, a coluna id foi utilizada como critério de ordenação. A ordem de exibição foi invertida adicionando a instrução DESC à instrução O ROER BY.

Outro recurso interessante de seleção é a possibilidade de agregar resultados mediante um ou mais valores duplicados, com a instrução GROUP BY. Por exemplo, numa ta­ bela de produtos comprados chamada item, é possível somar os valores totais por item:

Todas as ocorrências iguais na coluna n ome serão exibidas na mesma linha. Além disso, a função interna SUMO somará os valores da coluna preco de todas as linhas que foram agregadas pela instrução GROUP BY.

Alteração e exclusão

Os dados já inseridos em uma tabela podem ser modificados usando a instrução

UPDATE:

Essa instrução altera a coluna tel efone da tabela c l i ente somente onde o campo i d

seja igual a 2. Aqui também é necessário especificar quais linhas devem ser modifica­ das, usando a instrução WHERE. Caso a instrução WHERE não seja utilizada, todas as linhas da tabela terão a coluna especificada alterada. Mais de uma coluna pode ser alterada no mesmo comando, utilizando uma vírgula:

A exclusão de uma linha se dá com a instrução DELETE: nome Montgomery B u r n s | | | |

S E L ECT i d , n ome F ROM c l i ente ORDER BY i d DESC ; i d n ome 2 Montgome ry B u r n s Ned F l a n d e r s | | | | | | 1

S E LECT n ome, SUM (precol F ROM i tem GROUP BY nome;

U P DATE c liente S ET telefone = ' 432 1 - 87 6 5' WHERE i d = 2 ;

Para essa instrução é essencial o cuidado de utilizar a condição WHERE. Caso uma ou mais linhas não sejam especificadas, todas as linhas da tabela serão excluídas.

Relacionamento de tabelas

Uma das principais razões de se utilizar bancos de dados para armazenar informações é a facilidade e a rapidez com que se pode cruzar informações. Os relacionamentos podem ser realizados de diversas maneiras diferentes, mas uma das mais práticas é usar a instrução INNER JOIN.

Além da tabela cliente, pode ser criada a tabela chamada endereco com as colunas id, id_cliente, uf, localidade, logradouro, numero. Nesse caso, a coluna id_cliente es­ pecifica um campo id da tabela cliente, ou seja, uma linha específica da tabela cliente. Portanto, toda linha da tabela endereco possui uma linha correspondente na ta­ bela cliente. Como a coluna id_cliente não é um campo de identificação único na tabela endereco, o mesmo valor pode ser utilizado em mais de uma linha dessa tabela. Ou seja, a mesma linha na tabela cliente poderá ter mais de um endereço associado na tabela endereco.

Assim, podemos utilizar a instrução I N N E R J O I N em uma exibição com SELECT para mostrar linhas da tabela cliente e o(s) endereço(s) correspondentes na tabela endereco:

Quando mais de uma tabela é utilizada, é fundamental especificar a qual tabela cada coluna pertence, como demonstrado nos termos c l i e nte.neme, enderece. u f, en­ derece. i d_cl i ente e c li ente. i d . No exemplo, o critério de união utilizado pela instru­ ção INNERJOIN foi relacionar todas as linhas da tabela endereco cujo valor da co­ luna id_cliente fosse igual ao valor da coluna id de uma linha da tabela cliente.

D ELETE F ROM c liente WHERE i d = 2 ;

S ELECT c liente. n eme, enderece. u f F ROM c li ente I N N E R J O I N enderece ON � e n d e rece. i d_cli ente = c l i e nte. i d ;

1. O principal arquivo de definição de variáveis globais do Bash é:

a ./etc/fstab

b. I etc/bash c./etc/global d. /etc/profile

2. O arquivo de definições do Bash para cada usuário é o:

a. �/.init

b. �/.bash

c. �/.shell

d. �/.bash_profile

3.O comando alias delete="rm -i" tem a finalidade de

a. substituir o comando rm -i pelo comando delete. b.criar o comando delete que invoca o comando rm -i.

c.evitar que arquivos essenciais sejam apagados.

d. o comando r m sempre exigirá confirmação de exclusão.

4.Qual entrada no início de um script identifica o programa /bin/bash como inter­

pretador padrão? a .exporr shell=/bin/bash b. env shell=/bin/bash c.#shell=lbin/bash d.#!/bin/bash 5.A variável $! representa

a. o interpretador padrão do script.

b. o primeiro argumento do script.

c. o número PIO do script.

d. o número PIO do último programa executado.

6.A instrução que fecha uma estrutura de teste if é

a. fi

b. then

c.end d. done

7.A instrução if [ -n "$NOME"] ; then . . . será verdadeira se

a.A variável $NOME contiver um número.

b. A variável $NOME possuir um ou mais caracteres.

C. A variável $NOME for nula.

d. Essa instrução nunca será verdadeira.

8.A instrução que fecha uma estrutura case é:

a. end

b. done c.then d. esac

9.O comando seq tem a finalidade de

a. segmentar um arquivo.

b. unir vários arquivo em um só.

c.exibir uma sequência ordenada de números. d. ordenar a entrada padrão numericamente.

10.A instrução SQL responsável por atualizar uma linha numa tabela de banco de

dados é:

a .INSERT

b. ADD

c.UPDATE

I nterfaces de

No documento LP I-1 101 – 102 (páginas 127-135)