ALTER e DROP TABLE – Alterar e Excluir Tabelas e Colunas – Curso de SQL Server – 07

Alterar e Excluir Tabelas e Colunas no SQL Server

Vamos aprender agora a alterar e excluir tabelas e colunas com SQL no Microsoft SQL Server.
Para isso usaremos dois comandos: ALTER TABLE e DROP TABLE.

Comando ALTER TABLE

É possível alterar a estrutura de uma tabela após ter sido criada, acrescentando ou excluindo atributos (campos). A sintaxe básica para essa operação é como segue:

ALTER TABLE tabela
 ação coluna;

Vejamos a sintaxe básica para cada ação com ALTER TABLE:

Adicionar uma coluna à tabela:

ALTER TABLE nome_tabela ADD nome_coluna tipo_dados;

Excluir uma coluna de uma tabela:

ALTER TABLE nome_tabela DROP COLUMN nome_coluna;

Alterar o tipo de dados de uma coluna:

ALTER TABLE nome_tabela MODIFY COLUMN nome_coluna tipo_dados;

Adicionar uma constraint do tipo NOT NULL a uma coluna:

ALTER TABLE nome_tabela MODIFY nome_coluna tipo_dados NOT NULL;

Alterar uma tabela para adicionar uma constraint de chave primária a uma coluna:

ALTER TABLE nome_tabela ADD CONSTRAINT nome_constraint PRIMARY KEY (coluna1, coluna2, ...); 

Excluir uma constraint de uma tabela:

ALTER TABLE nome_tabela DROP CONSTRAINT nome_constraint;

Exemplos

1 – Excluir a coluna ID_Autor da tabela tbl_livros:

ALTER TABLE tbl_livros
DROP COLUMN ID_Autor;

2 – Adicionar a coluna ID_Autor à tabela tbl_livros e configurá-la como chave estrangeira da coluna ID_Autor da tabela tbl_autores:

ALTER TABLE tbl_livros
ADD ID_Autor SMALLINT NOT NULL
CONSTRAINT fk_ID_Autor FOREIGN KEY (ID_Autor) REFERENCES tbl_autores (ID_autor);

3 – Adicionar a coluna ID_editora à tabela tbl_livros e configurá-la como chave estrangeira da coluna ID_editora da tabela tbl_editoras:

ALTER TABLE tbl_livros
ADD ID_editora SMALLINT NOT NULL
CONSTRAINT fk_id_editora FOREIGN KEY (ID_editora) REFERENCES tbl_editoras (ID_editora) ON DELETE CASCADE;

4 – Alterando o tipo de dados da coluna ID_Autor para SMALLINT:

ALTER TABLE tbl_livros
ALTER COLUMN ID_Autor SMALLINT;

5 – Adicionando a constraint PRIMARY KEY á coluna ID_Cliente (já existente) da tabela Clientes:

ALTER TABLE Clientes
ADD CONSTRAINT pk_id_cliente PRIMARY KEY (ID_Cliente);

Comando DROP TABLE

Usamos o comando DROP TABLE para excluir uma tabela do banco de dados, incluindo todos os seus dados.

Sintaxe:

DROP TABLE nome_tabela;

Exemplo:

DROP TABLE Clientes;

Dúvidas? Assista a um vídeo da Bóson Treinamentos sobre o assunto:

 


 

Sobre Fábio dos Reis (1332 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 25 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Unix, Linux e Open Source em geral, adora Eletrônica e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

8 Comentários em ALTER e DROP TABLE – Alterar e Excluir Tabelas e Colunas – Curso de SQL Server – 07

  1. Sidney Pedro da Silva // 20/06/2013 em 9:54 // Responder

    Olá Prof. Reis,
    Gostaria de saber onde será usado o nome de uma constraint, após obrigatoriamente criada, como por exemplo, a “fk_ID_Autor”, desta video-aula.
    Muito obrigado.

    • Olá Sidney! O nome da constraint é importante pois será utilizado para que possamos interagir com ela – por exemplo, se precisarmos exclui-la, o faremos pelo seu nome. Veja a sintaxe no texto do artigo. Abraço!

  2. ótimooooooo , treinamento ,

  3. Como alterar o nome de uma coluna?

    obrigado
    Leandro

    • Olá Leandro!
      Para alterar o nome de uma coluna você pode usar o procedimento armazenado sp_rename no SQL Server, como segue:
      EXEC sp_RENAME ‘Nome_Tabela.Nome_Coluna_Atual’ , ‘Novo_Nome_Coluna’, ‘COLUMN’
      Onde Nome_Tabela.Nome_Coluna_Atual é o nome atual da coluna, precedido do nome da tabela que a contém, e Novo_Nome_Coluna é o nome que você quer atribuir a essa coluna agora.
      Abraço!

  4. Olá, Professor, boa tarde!
    Gostaria de inserir uma nova coluna em uma tabela no SQL Server, o problema que essa coluna precisa estar depois de uma outra existente e não no final da tabela. Tem como fazer isso ?

Escreva um comentário

Seu e-mail não será divulgado


*