Você está na página 1de 3

Introduo bsica ao SQL (partes 1 e 2)

Data da ltima atualizao: 03/11/2011 Introduo ao SQL e o Firebird. (Parte 1) Neste artigo faremos uma abordagem resumida sobre a linguagem padro de comunicao com os bancos de dados. SQL significa Structured Query Language, uma linguagem normalizada que podemos utilizar com qualquer banco de dados. Para um programador essencial saber essa linguagem, e o torna verstil. A linguagem SQL em si padronizada, porm alguns bancos de dados possuem funes especficas que no funcionam em outros. Os comandos a seguir sero executados utilizando o banco de dados Firebird e a ferramenta IBExpert. Os comandos bsicos para criar a estrutura de uma tabela e alguns objetos so: 1. CREATE TABLE; 2. CREATE GENERATOR; 3. CREATE TRIGGER; Para podermos utilizar os comandos citados acima, vamos criar uma tabela utilizando o comando CREATE TABLE: Exemplo:
CREATE TABLE cidade ( id_cidade INTEGER NOT NULL, nome_cidade VARCHAR(100), uf VARCHAR(2), PRIMARY KEY (id_cidade))

Na tabela cidade o campo id_cidade foi definido como chave primria (PRIMARY KEY (id_cidade)), e o mesmo no pode ser nulo (NOT NULL). Uma chave primria no pode ser repetida, ento para facilitar a manipulao dessa tabela e deixar que o prprio SGDB crie a seqncia nica para o campo id_cidade, vamos criar um GENERATOR (contador de inteiros) e na seqncia um TRIGGER (gatilho). O GENERATOR serve para armazenar um nmero inteiro que pode ser incrementado ou decrementado e o TRIGGER um gatilho que pode ser disparado antes ou depois dos comandos INSERT, UPDATE e DELETE. Criando o GENERATOR:
CREATE GENERATOR GEN_ID_CIDADE

Foi dado o nome GEN_ID_CIDADE para facilitar a identificao. O GEN de GENERATOR e o _ID_CIDADE que identifica o campo id_cidade que chave primria da tabela cidade. Criando o TRIGGER:

CREATE trigger cidade_bi_id_cidade for cidade active before insert position 0 AS begin NEW.id_cidade = GEN_ID(GEN_ID_CIDADE, 1); End

Na situao acima foi criado um TRIGGER que ser executado antes (before) de inserir algum registro na tabela cidade. Ou seja, o gatilho cidade_bi_id_cidade ser usado antes de inserir algum registro na tabela cidade, o gatilho ir incrementar um inteiro e o campo id_cidade receber esse valor. Introduo ao SQL e o Firebird. (Parte 2) Agora que uma pequena tabela foi criada, ela est pronta para receber informaes, assim como alteraes. Os comandos para manipular os dados de uma tabela so: 1. 2. 3. 4. INSERT; UPDATE; DELETE; SELECT.

Inserindo dados: Vamos inserir algumas informaes para podermos treinar os comandos bsicos da linguagem SQL.
INSERT INTO cidade (id_cidade, nome_cidade, uf) VALUES (0, 'SO PAULO','SP') INSERT INTO cidade (id_cidade, nome_cidade, uf) VALUES (0, 'CURITIBA','PR')

Explicao: O comando para inserir um registro INSERT INTO seguido pelo nome da tabela (cidade), os campos da tabela que queremos popular (id_cidade, nome_cidade, uf) com os valores (0, 'SO PAULO','SP'). Como criamos um TRIGGER que disparado antes de inserir a informao na tabela, no importa qual valor colocamos no campo id_cidade, sempre ser ignorado esse valor e ser colocado o valor incremental do GEN_ID_CIDADE. Para verificar se os registros foram inseridos com sucesso vamos fazer um SELECT na tabela:
SELECT * FROM cidade

Explicao: O comando SELECT responsvel por buscar informaes na tabela. O * significa que ser retornado todos os campos. Essa simples busca retorna todos os campos de todos os registros da tabela. Filtrar:

SELECT * FROM cidade WHERE (uf = 'SP')

Explicao: Esse comando retorna todos os campos da tabela cidade cujo campo uf for igual a 'SP'. Treinando:
INSERT INTO cidade (id_cidade, nome_cidade, 'MARINGA','PR') uf) VALUES (0,

Para alterar um registro especfico de uma tabela, podemos usar o seguinte comando:
UPDATE cidade SET nome_cidade = 'MARING' WHERE id_cidade = 3

Explicao: Esse comando altera o valor do campo nome_cidade da tabela cidade para MARING quando o campo id_cidade for igual a 3. Excluindo registros:
DELETE FROM cidade WHERE id_cidade = 3

Explicao: Esse comando est excludo o registro da tabela cidade cujo valor do campo id_cidade seja igual a 3. Autora: Claudia Daltro Nogueira <claudiadnh em gmail.com> Nota: No esquea que todos os comandos SQL devem terminar com um ; (no caso, o IBExpert acrescenta o ; autmaticamente quando voc no o digita).

Você também pode gostar