sexta-feira, 21 de janeiro de 2011

Campos Padrão (Default)

E se eu quiser definir valores padrão para as minhas colunas?

Para isso pode-se utilizar o comando DEFAULT. Ele cria informações padrão para as colunas especificadas, mas pode ser alterado.

CREATE TABLE cadastros

(

nome varchar (30) NOT NULL,

telefone varchar (15) NOT NULL,

sexo char (1) DEFAULT ‘M’

);

O que é NULL?

Tendo conhecimento de todos esses INSERTS, fica a pergunta. Como ficam os campos que não são preenchidos?

Esses campos ficam NULL.


O que é NULL?

NULL não é zero nem uma linha vazia. Zero é uma informação e uma linha vazia seria o uso de duas aspas simples com nada dentro, ou seja, um campo de texto, mas de tamanho zero.

NULL é um valor indefinido, como o interior de uma caixa nunca aberta. Qualquer coisa poderia estar ali dentro, então você não pode comparar uma caixa não aberta com outra, porque você não sabe o que terá dentro de cada uma. Pode até estar vazia, mas não tem como ter certeza.

Quando um campo precisa obrigatoriamente receber informações, usa-se o comando NOT NULL atribuído à coluna no momento da criação da tabela.

CREATE TABLE cadastros

(

nome varchar (30) NOT NULL,

telefone varchar (15) NOT NULL,

sexo char (1)

);

Inserindo dados em uma tabela

INSERT INTO meus_contatos

(sobrenome, primeiro_nome, email, aniversario, profissao, local, estado_civil, interesses, procura)

VALUES

('Ribeiro', 'Luis Fernando', 'lhueilsl@gmail.com', '10/15/1989', 'Informática', 'GDOOR', 'Solteiro', 'Vários', 'Conhecimento');

Este comando insere informações em uma tabela, onde informam-se os campos que receberão informações e em seguida o comando para receber os valores para tais campos.

Importante: Os valores devem estar na mesma ordem das colunas.

Note que a data está fora de nosso padrão normal, onde é primeiro informado o Mês, depois o dia e por fim o Ano.

Note que as informações estão entre aspas. Os tipos de dados VARCHAR, CHAR, DATE e BLOB são colocados entre aspas no INSERT e DEC e INT não são colocados entre aspas.


Variações do comando INSERT:

Alterar as ordens das colunas: Permite-se alterar a ordem das colunas para os dados, mas os valores para elas devem permanecer na ordem correta.

INSERT INTO meus_contatos

(sobrenome, primeiro_nome, aniversario, email, profissao, local, estado_civil, interesses, procura)

VALUES

('Ribeiro', 'Luis Fernando', '10/15/1989', 'lhueilsl@gmail.com', 'Informática', 'GDOOR', 'Solteiro', 'Vários', 'Conhecimento');

Omitir o nome das colunas: Permite-se omitir o nome das colunas, desde que os dados para elas permaneçam na ordem correta

INSERT INTO meus_contatos

VALUES

('Ribeiro', 'Luis Fernando', 'lhueilsl@gmail.com', '10/15/1989', 'Informática', 'GDOOR', 'Solteiro', 'Vários', 'Conhecimento');

Deixar algumas colunas de fora: Permite-se omitir algumas colunas, desde que omita-se os dados referentes as mesmas também.

INSERT INTO meus_contatos

(sobrenome, primeiro_nome)

VALUES

('Ribeiro', 'Luis Fernando');

Deletar uma tabela na base de dados

DROP TABLE tabela_tal;

Este comando elimina uma tabela de seu banco de dados independentemente de ela ter dados ou não, então: Cuidado!

Por que não usar BLOB para todos os campos de texto?

Por que eles ocupam muito espaço desnecessário em muitos casos. À medida que o banco de dados cresce esses campos podem ocupar muito espaço em um HD.

Exemplos de Tipos de Dados

Nome da Coluna

Exemplo

Tipo de dado

nome

Luis Fernando

VARCHAR (30)

preço_custo

23,50

NUMERIC (4,2) ou DEC (4,2)

sexo

M

CHAR (1)

aniversaio

15/10/2010

DATE

Comentários

Texto extenso

BLOB