SQL
25 pág.

SQL


DisciplinaBanco de Dados I5.943 materiais57.377 seguidores
Pré-visualização6 páginas
por exemplo uma chave primária em uma tabela. Em nossa tabela, se quisermos que
Alterando tabelas 11
nome seja uma chave primária também, podemos fazer:
ALTER TABLE Cliente
ADD PRIMARY KEY(Nome);
Se desejarmos eliminar uma coluna de nossa tabela, utilizamos a seguinte sintaxe:
ALTER TABLE Nome_Tabela
DROP nome_campo;
Alguns gerenciadores também utilizam a cláusula DROP COLUMN ao invés de somente DROP.
MODIFY
Podemos utilizar a cláusula MODIFY para modificar as propriedades de um campo em uma tabela. Por exemplo,
imaginemos que devemos modificar o tamanho de nosso campo Nome na tabela Cliente, que é de 60 para 100. Então
podemos escrever:
ALTER TABLE Cliente
MODIFY Nome(100);
Com a cláusula MODIFY, também podemos alterar o tipo de um campo. Imaginemos que por um motivo qualquer
desejemos alterar o tipo do campo Nome de VarChar para Char:
ALTER TABLE Cliente
MODIFY Nome CHAR (100);
Removendo tabelas
Podemos excluir uma tabela qualquer dentro de um banco de dados. A sintaxe básica para criarmos é:
DROP TABLE nome_tabela;
No entanto, devemos nos atentar que ao excluir uma tabela que possui relacionamento com outras tabelas, o SGBD
retornará erro. Neste caso se realmente for necessário excluir uma tabela, deve-se fazer as alterações necessárias em
todas as tabelas relacionadas.
Constraints
Esta página é somente um esboço.
Ampliando-a você ajudará a melhorar o Wikilivros.
Linguagem de manipulação de dados 12
Linguagem de manipulação de dados
Uma linguagem de manipulação de dados é usada para modificar registros em um banco de dados. O ideal é que isso
aconteça sem modificar o esquema do banco de dados (como por exemplo: recursos de tabela, relacionamentos, ...).
As declarações podem ser de 3 tipos: INSERT, UPDATE, DELETE.
Inserindo dados
Em um banco de dados, inserir dados em uma tabela, significa preencher uma linha de determinada tabela com
dados correspondentes aos tipos determinados naquela tabela. Esta inserção de dados deve seguir as regras de
integridade da tabela, assim como respeitar as regras de chave primária estabelecidas na tabela.
Na linguagem SQL, para inserirmos dados em uma tabela, utilizamos o seguinte comando:
INSERT INTO Nome_Tabela VALUES (valor 1, valor2, valor3,...);
Os valores valor1 , valor2, etc..., seguem a ordem dos campos da tabela, sendo utilizado valor vazio (' ') para campos
que não necessitem de preenchimento. Dados de tipo numérico podem ser escritos sem a necessidade de aspas
simples. Dados do tipo caracter (como char e varchar), devem ser escritos entre aspas simples.
Exemplo:
INSERT INTO Clientes VALUES (1, 'José Pereira', '1111-1111,...);
Alterando dados
Em um banco de dados, alterar dados de uma tabela significa atualizar um dado de uma determinada tabela, por
outro dado de mesmo tipo daquele que é atualizado.
Na linguagem SQL, para alterarmos dados em uma determinada tabela, utilizamos o seguinte comando:
UPDATE Nome_Tabela 
SET coluna a ser atualizada= valor atualizado
['''WHERE''' ''condição''];
O comando Update pode ser realizado sem o WHERE. Neste caso todas as linhas da tabela serão atualizadas com o
valor determinado no comando. Para os casos onde se necessite atualizar apenas linhas que cumpram determinada
condição, esta condição é estabelecida com a inclusão do comando WHERE.
Exemplo:
UPDATE Clientes 
SET nome= 'Antônio Pereira' ;
Ou:
UPDATE Clientes 
SET telefone= '2222-2222' 
WHERE nome='José Pereira';
Removendo dados 13
Removendo dados
Em um banco de dados, apagar dados de uma tabela significa eliminar um dado de uma determinada tabela. Para isto
utilizamos a instrução DELETE.
Na linguagem SQL, para apagar dados em uma determinada tabela, utilizamos a seguinte sintaxe:
DELETE FROM Nome_Tabela 
[WHERE condição ];
O comando Delete pode ser realizado sem o WHERE. Neste caso todas as linhas da tabela determinada serão
excluídas. Utilizamos WHERE quando desejamos eliminar os registros que obedeçam certa condição. Exemplo:
 
DELETE FROM Clientes;
Neste caso são eliminados todos os registros da tabela Clientes.
Ou:
 
DELETE FROM Clientes 
WHERE nome='José Pereira';
Neste caso só serão eliminados os registros cujo campo nome seja igual a José Pereira. Os registros com nomes
diferentes permanecerão intactos.
Linguagem de consulta de dados
Linguagem de consulta de dados é usada para, fazer o que o nome diz, consultas, extrair informações de um banco
de dados. É importante que essas consultas aconteçam sem causar mudanças no banco de dados, caso contrário
dados valiosos poderiam ser prejudicados. O comando de consulta é SELECT.
Em um banco de dados, selecionar dados significa efetuar uma consulta enviando o comando que retornará com as
informações solicitadas se existirem. Para efetuar estas consultas utilizamos o comando SELECT.
Na linguagem SQL, para efetuar consultas , utilizamos a seguinte sintaxe:
SELECT Nome_ campo 
FROM Nome_Tabela 
[WHERE condição];
O comando Select deve conter o nome do campo que deve ser retornado, de qual tabela e quando contêm a claúsula
WHERE, as condições que o registro deve obedecer para retornar os valores. Quando desejamos trazer todos os
campos utilizamos o asterisco (*).
Exemplo:
SELECT * FROM Clientes;
Neste caso são trazidos todos os registros da tabela Clientes.
Mas se, por exemplo, só quisermos trazer o nome e o telefone da tabela Clientes, utilizamos :
SELECT nome, telefone FROM Clientes;
Linguagem de consulta de dados 14
Com o uso da cláusula WHERE, podemos filtrar os registros que são retornados. Neste caso podemos por exemplo
trazer apenas os registros cujo nome seja José da Silva:
SELECT nome, telefone 
FROM Clientes 
WHERE nome='José da Silva';
Distinct
A função Distinct não permite que valores iguais de uma mesma coluna sejam retornados. Sua sintaxe é:
SELECT DISTINCT(Nome_Campo)
FROM Nome_tabela;
Ordenação
Podemos ordenar os resultados de uma consulta por um ou diversos campos de uma tabela. Na linguagem SQL,
utilizamos o comando ORDER BY para efetuar esta ordenação:
SELECT Nome_ campo 
FROM Nome_Tabela
[WHERE condição
ORDER BY Nome_campo [ASC|DESC]];
Exemplo:
SELECT * 
FROM Clientes 
WHERE Salario>1000 
ORDER BY Nome;
Neste caso são trazidos todos os registros da tabela Clientes cujo campo Salario seja maior do que 1000, sendo
ordenado por nome. O ORDER BY normalmente efetua a ordenação em ordem crescente (isto é, ascendente). No
entanto podemos especificar se queremos que a ordenação seja em ordem crescente ou decrescente:
SELECT * 
FROM Clientes 
WHERE Salario>1000 
ORDER BY Nome ASC;
Neste caso os registros serão ordenados de forma ascendente por nome.
SELECT * 
FROM Clientes 
WHERE Salario>1000 
ORDER BY Nome DESC;
Neste caso os registros serão ordenados de forma descendente por nome.
Agrupamento 15
Agrupamento
group by
Podemos agrupar dados utilizando a cláusula GROUP BY que permite unir em uma única linha todas as linhas
selecionadas que possuam os mesmos valores. Sua sintaxe é:
SELECT coluna1, coluna3
FROM Tabela
GROUP BY coluna1, coluna3
Exemplo:
SELECT departamento, MAX(idade)
FROM Funcionarios
GROUP BY departamento
having
Conforme aprendemos anteriormente utilizamos a cláusula WHERE quando queremos definir uma condição de
retorno de um comando SELECT. No entanto a cláusula WHERE determina os dados que serão agregados, e não
podem definir as condições de retorno de uma agregação. Neste caso, utilizamos a cláusula Having que seleciona
grupos de linhas após as agregações e agrupamentos serem efetuados. Exemplo:
SELECT Codigo,Max(Idade)
FROM Cliente
HAVING Max(Idade)<60;
SELECT DepartmentName, COUNT(*) 
FROM Employee, Department 
WHERE Employee.DepartmentID = Department.DepartmentID 
GROUP BY DepartmentName