Guia de Comandos SQL: DDL, DML e DQL com PostgreSQL

Formação e orientação para o trabalho5,78 KB

Banco de Dados: Comandos SQL com PostgreSQL

OBS: Comandos baseados em PostgreSQL.

Para saber um pouco mais sobre SQL, acesse: http://pt.wikipedia.org/wiki/Sql

Criar e manipular registros com SQL.

Criando o banco de dados

Para criar o banco, siga os comandos abaixo:

  • PostgreSQL: createdb nome_do_banco;
  • MySQL: create database nome_do_banco;

DDL – Linguagem de Definição de Dados

  • CREATE
  • DROP
  • ALTER TABLE
  • CREATE INDEX
  • ALTER INDEX
  • DROP INDEX
  • CREATE VIEW
  • DROP VIEW

CREATE

Comando utilizado para criar tabelas.

Comando: create table nome_tabela ( dicaTabela_atributo tipoDados );

Exemplo feito em sala:

create table cliente
(
cli_rg integer not null,
cli_nome varchar(100) not null,
cli_email varchar(100) not null
);

Tabelas com Primary Key

Criando a chave principal, fazendo com que um determinado campo não possa ser repetido.

Exemplo feito em sala:

create table cliente
(
cli_rg integer not null,
cli_nome varchar(100) not null,
cli_email varchar(100) not null,
primary key (cli_rg)
);

DROP

Elimina uma tabela, seus dados, atributos e referências.

Comando: drop table nome_da_tabela;

Exemplo feito em sala: drop table cliente;

ALTER

Este comando permite inserir ou eliminar atributos em tabelas já existentes.

Comandos:

  • Inserir coluna: alter table nome_tabela add nome_coluna tipo;
  • Excluir coluna: alter table nome_tabela drop nome_coluna;
  • Renomear coluna: alter table nome_tabela rename column nome_antigo to novo_nome;
  • Alterar tipo da coluna: alter table nome_tabela alter column nome_coluna type novo_tipo;

Mais comandos ALTER:

  • Oracle (excluir): alter table nome_tabela drop column nome_coluna;
  • MySQL (alterar): alter table nome_tabela modify nome_coluna tipo_coluna;
  • Firebird (alterar): alter table nome_tabela alter column nome_coluna type novo_tipo;
  • Firebird (renomear): alter table nome_tabela alter column antigo_nome to novo_nome;

DML – Linguagem de Manipulação de Dados

  • INSERT
  • UPDATE
  • DELETE

INSERT

Comando utilizado para inserir dados nas tabelas.

Comando: insert into nome_tabela (atributo1, atributo2) values (valor1, 'valor2');

Exemplo feito em sala:

insert into cliente (cli_rg, cli_nome, cli_email) values (123456, 'Marcos', '[email protected]');

Obs.: Em MySQL usa-se aspas duplas nos textos.

UPDATE

Comando utilizado para alterar os dados das tabelas.

Comando: update nome_tabela set nome_coluna = novo_valor;

Exemplo feito em sala: update cliente set cli_nome = 'Marcos Rogério';

DELETE

Comando utilizado para excluir dados das tabelas.

Comando: delete from nome_tabela where condição_para_exclusão;

Exemplo feito em sala: delete from cliente where cli_rg = 123456;

ATENÇÃO: O comando delete from cliente excluirá todos os registros da tabela; por isso, é importante sempre adicionar uma condição para excluir um único registro.

Exercício feito em sala: criar duas tabelas relacionadas

create table cidade
(
cid_codigo integer not null,
cid_nome varchar(100) not null,
cid_uf varchar(2) not null,
primary key (cid_codigo)
);

create table cliente
(
cli_rg integer not null,
cli_nome varchar(100) not null,
cli_email varchar(100) not null,
cli_cidade integer not null,
primary key (cli_rg),
foreign key (cli_cidade) references cidade(cid_codigo)
);

Basta inserir alguns dados e testar o relacionamento entre as duas tabelas (integridade referencial).

DQL – Linguagem de Consulta de Dados

  • SELECT

Cláusulas: FROM, WHERE, GROUP BY, HAVING, ORDER BY, DISTINCT, AND, OR (ou lógico), NOT.

Para visualizar, consultar ou selecionar dados, utilizamos o SELECT:

select * from nome_tabela;
select nome_coluna from nome_tabela;

ORDER BY

A cláusula ORDER BY altera a ordem de apresentação do resultado da pesquisa e possibilita ordenar de forma ascendente ou descendente.

Exemplo: select * from cliente order by cli_nome;

WHERE

Com a cláusula WHERE é possível restringir os dados (tuplas) listados, ou seja, aplicar uma condição para que determinado registro apareça no resultado.

Operadores lógicos:

  • = igual
  • > maior que
  • >= maior que ou igual a
  • < menor que
  • <= menor que ou igual a

Exemplos:

select * from cliente where cli_cidade >= 2;
select * from cliente where cli_codigo >= 2 and cli_codigo <= 5;
select * from cliente where cli_codigo >= 2 and cli_codigo <= 5 and cli_nome = 'Marcos';
select * from cliente where cli_codigo >= 2 and cli_codigo <= 5 and cli_nome = 'Marcos' order by cli_nome;

Baixar

PDF Word HTML