Bóson Treinamentos em Ciência e Tecnologia

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

Como alterar e excluir tabelas no SQL Server com ALTER TABLE e DROP TABLE

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 ALTER COLUMN nome_coluna tipo_dados;

Adicionar uma constraint do tipo NOT NULL a uma coluna:

ALTER TABLE nome_tabela ALTER COLUMN 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;

Exercício para Fixação

Tente fazer o seguinte exercício sozinho. A resolução sugerida está na sequência:

1. Criar uma nova tabela no banco de dados db_Biblioteca, para armazenar gêneros dos livros. Sugestão de nome: tbl_generos

2. Criar uma nova coluna na tabela de livros para realizar o relacionamento com a tabela de gêneros.

3. Inserir um novo registro de livro no banco. Atenção: inserir antes quaisquer editoras, autores e gêneros necessários. Pesquise um livro que você gosta para realizar esse cadastro.

4. Verifique se os dados foram inseridos com sucesso usando o comando:
SELECT * FROM nome_tabela;

RESOLUÇÃO

CREATE TABLE tbl_generos (
ID_Genero Tinyint IDENTITY,
Genero VARCHAR(25)
CONSTRAINT pk_id_genero PRIMARY KEY (ID_Genero)
);

ALTER TABLE tbl_livros
ADD ID_Genero Tinyint
CONSTRAINT fk_id_genero FOREIGN KEY (ID_Genero)
REFERENCES tbl_generos (ID_Genero) ON DELETE CASCADE;

INSERT INTO tbl_generos (Genero)
VALUES 
('Ficção'),
('Romance'),
('Aventura'),
('Técnico'),
('Suspense');

INSERT INTO tbl_autores (ID_Autor, Nome_Autor)
VALUES (6, 'Daniel Defoe');

INSERT INTO tbl_editoras (Nome_Editora)
VALUES
('Penguin Classics');

INSERT INTO tbl_Livros (Nome_Livro, ISBN, Data_Pub,
Preco_Livro, ID_Autor, ID_editora, ID_Genero)
VALUES
('As Aventuras de Robinson Crusoé','98653696912','18700509', 32.50, 6, 10,3);

SELECT * FROM tbl_livros;

Resultado do Exercício com ALTER TABLE

O livro foi inserido com sucesso. Note que os livros inseridos anteriormente não possuem gênero cadastrado, sendo mostrado o valor NULL (nulo), mas é possível adicionar esse dado a eles usando a cláusula SQL UPDATE, que estudaremos nas próximas lições.

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

 


 

Sair da versão mobile