sábado, 20 de abril de 2013

ALTER TABLE

Ferramenta utilizada: SQL Server 2008 R2

Este comando SQL serve para você alterar uma tabela que foi criada.
Com ALTER podemos adicionar e remover colunas, alterar o tipo da coluna, adicionar e remover pk e fk e etc.

Sintaxe:
- para adicionar e remover uma coluna

Coluna
- adicionar
ALTER TABLE << tabela >>
ADD << coluna >> << tipo >>

- remover

ALTER TABLE << tabela >>
DROP COLUMN << coluna >>

- para alterar o tipo

ALTER TABLE << tabela >>
ALTER COLUMN << coluna >> << novo tipo >>

===============================================================
PK - Primary Key (Chave primária)
- adicionar
ALTER TABLE << tabela >>
ADD CONSTRAINT << nome da constraint >> PRIMARY KEY ( << coluna >>)
-- IMPORTANTE! - a coluna que será PK tem que ser obrigatóriamente  "NOT NULL"

- remover PK

ALTER TABLE << tabela >>
DROP CONSTRAINT << nome da constraint >>

========================================================================
FK - Foreign Key (Chave estrangeira)

-adicionar

ALTER TABLE << tabela >>
ADD CONSTRAINT << nome da constraint >> FOREIGN KEY ( << coluna >>) REFERENCES << nome da tabela que será referenciada pela FK >>
-- IMPORTANTE! - Tem que existir na tabela a coluna que a FK será direcionada. E a tabela de referencia tambem tem que existir.

========================================================================
NULL / NOT NULL

ALTER TABLE << tabela >>
ALTER COLUMN << coluna >> << tipo >> NULL / NOT NULL
--IMPORTANTE! - Deve-se tomar cuidado no tipo. Pois o tipo tambem será alterado.


========================================================================
CHECK

- adicionar
ALTER TABLE << tabela >>
ADD CONSTRAINT << nome do check >> CHECK (<< coluna >> IN (<< valor >>, << valor >>, ...) )

- remover
ALTER TABLE << tabela >>
DROP CONSTRAINT << nome do check >> 

========================================================================
UNIQUE

-adicionar
ALTER TABLE << tabela >>
ADD CONSTRAINT << nome do unique >> UNIQUE ( << coluna >> )

-remover
ALTER TABLE << tabela >>
DROP CONSTRAINT << nome do unique >>

========================================================================

Para alterar o nome da tabela temos que chamar uma procedure do proprio SQL Server

"EXEC SP_RENAME << 'nome atual ' >>, << 'novo nome' >>"




quinta-feira, 18 de abril de 2013

CRIAÇÃO DE TABELA - BÁSICO

Ferramenta utilizada: SQL Server 2008 R2

Olá!
Neste post irei mostrar o comando sql para criar tabelas o "CREATE TABLE".

Comando SQL

Sintaxe:

CREATE TABLE    << nome da tabela >>  (
<< coluna >>  << tipo >>,
)


Vamos criar uma tabela que irá armazenar os dados de um produto em um estoque de super mercado.
Com informações básicas.

Comando SQL:

CREATE TABLE    PRODUTO  (
PRODUTO_ID        INTEGER,
NOME    VARCHAR(50),
PRECO      DECIMAL(18,2),
DATA_ENTRADA  DATETIME
)

Tipo de variaveis utilizadas.
INTEGER - para números do tipo inteiro.

VARCHAR (n) - para texto onde "n" que está entre parenteses representa o tamanho da variavel, ou seja, a quantidade de caracteres que irá ser armazenada na variavel.

DECIMAL (x, y) - para números separados com virgula onde "x" é a quantidade de números antes da virgula e "y" para a quantidade de números depois da virgula.

DATETIME - para datas.

Entendendo o comando:
Em SQL não pode ser utilizado acento ou espaço. Geralmente para separar as palavras é usado  "_".

CREATE TABLE - Comando para criar uma tabela no banco de dados. Precisa obrigatoriamente de um nome. Tudo que estiver entre parenteses e separado com virgula será uma coluna na tabela.

(

PRODUTO_ID     INTEGER, - Por convenção um dado que servirá com chave primária ou chave estrangeira é identificado na tabela com "_ID" no final ou no começo da coluna.. Que seria o código para localizar o produto dentro de uma ou mais tabelas.

NOME VARCHAR(50), - nome do produto com no máximo 50 letras.

PRECO   DECIMAL(18,2), - preço do produto respeitando as casas decimais.

DATA_ENTRADA   DATETIME - a data de cadastro do produto no estoque.

)

Lembre-se que para separar as coluna é usado a virgula. Somente no final é dispensado o uso dela.
Fim.

Com o tempo eu melhoro os exemplos e as explicações.