MySQL – Alterar Tabelas – Declaração ALTER TABLE – 10
Alterar Tabelas e Colunas no MySQL com ALTER TABLE
- É possível alterar a estrutura de uma tabela no MySQL após ter sido criada, acrescentando ou excluindo atributos (campos)
Usamos para isso o comando ALTER TABLE
Excluir colunas: ALTER TABLE – DROP
ALTER TABLE nome-tabela DROP COLUMN nome-coluna;
Exemplo – Excluindo a coluna ID_autor da tabela tbl_livro:
ALTER TABLE tbl_livro DROP COLUMN ID_autor;
Pode-se excluir uma chave primária também:
ALTER TABLE tabela DROP PRIMARY KEY;
Adicionar colunas: ALTER TABLE – ADD
Sintaxe:
ALTER TABLE tabela ADD coluna tipo_dados constraints;
Exemplo no banco de dados db_biblioteca: Vamos adicionar a coluna id_autor na tabela tbl_livro, com a constraint de chave estrangeira (a chave primária está na tabela tbl_autores):
ALTER TABLE tbl_livro ADD ID_Autor SMALLINT NOT NULL;
Vamos adicionar a chave estrangeira agora:
ALTER TABLE tbl_livro ADD CONSTRAINT fk_ID_Autor FOREIGN KEY (ID_Autor) REFERENCES tbl_autores (ID_autor) ON DELETE CASCADE ON UPDATE CASCADE;
Continuando os exemplos, vamos adicionar à tabela tbl_livro a coluna id_editora:
ALTER TABLE tbl_livro ADD ID_editora SMALLINT NOT NULL;
E fazê-la chave estrangeira da tabela tbl_editoras:
ALTER TABLE tbl_Livro ADD CONSTRAINT fk_id_editora FOREIGN KEY (ID_editora) REFERENCES tbl_editoras (ID_editora) ON DELETE CASCADE ON UPDATE CASCADE;
Também vamos criar o relacionamento entre a tabela de livros e a tabela de categorias:
ALTER TABLE tbl_Livro ADD CONSTRAINT fk_id_categoria FOREIGN KEY (ID_Categoria) REFERENCES tbl_categorias (ID_Categoria) ON DELETE CASCADE ON UPDATE CASCADE;
Após criar os relacionamentos entre as tabelas, teremos a estrutura mostrada no diagrama entidade-relacionamento a seguir:
Alterar uma tabela
Podemos alterar colunas, por exemplo mudando o tipo de dados:
ALTER TABLE tbl_Livro MODIFY COLUMN ID_Autor SMALLINT;
ALTER TABLE – ADD PK
Podemos também alterar uma coluna, adicionando constraints, como uma chave primária. Veja como ficaria a adição da restrição de chave primária a uma coluna de nome ID_Cliente em uma tabela fictícia chamada Clientes:
ALTER TABLE Clientes ADD PRIMARY KEY (ID_Cliente)
Obs. A coluna ID_Cliente deve existir antes de ser transformada em chave primária.
A coluna ID_Cliente receberá a Constraint (restrição) PRIMARY KEY, e passará a ser a chave primária da tabela.
Excluir Constraints
Pode-se excluir uma chave primária (ou outra constraint):
ALTER TABLE nome-tabela DROP PRIMARY KEY;
DROP TABLE – Excluir tabela
Podemos excluir uma tabela com o comando DROP TABLE
Sintaxe:
DROP TABLE nome_tabela;
Exemplo: excluindo a tabela Clientes (fictícia):
DROP TABLE Clientes;
Assista a um vídeo explicativo sobre os comandos ALTER TABLE e DROP TABLE:
ÓTIMO POST, EXPLICA MUITO BEM AS CONSULTAS SQL
Como vc mostrou as colunas com “SELECT * FROM tables” se para mostrar as colunas o comando é “DESCRIBE table”?
o SELECT é usado para realizar consultas nas tabelas, e com o caractere * todas as colunas são retornadas – por isso é possível ver todas as colunas, incluindo os dados. O comando DESCRIBE só lista a estrutura da tabela, sem no entanto mostrar os dados presentes.
Parabéns pelo material.
Valeu Edson!
Bom dia!
Existe o parâmetro After, e o First no alter table para adiconaor colunas. Não existe a opção Before?