7 – T-SQL – ALTER e DROP TABLE – Alterar e Excluir Tabelas e Colunas – 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.

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:

Excluir a coluna ID_Autor da tabela tbl_livros:

ALTER TABLE tbl_livros DROP COLUMN ID_Autor;

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);

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;

Alterando o tipo de dados da coluna ID_Autor para SMALLINT:

ALTER TABLE tbl_livros ALTER COLUMN ID_Autor SMALLINT;

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);

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:

 
EuSobre Fábio dos Reis 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 Linux e Open Source em geral, Astrônomo Hobbysta e estudante de idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo.    
Sobre Fábio dos Reis (1096 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 Astronomia, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

6 Comentários em 7 – T-SQL – ALTER e DROP TABLE – Alterar e Excluir Tabelas e Colunas – SQL Server

  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!

Escreva um comentário

Seu e-mail não será divulgado


*