2.21. Alterando a Estrutura de uma Tabela
O comando SQL ALTER TABLE
permite realizar modificações na estrutura de uma tabela, como a criação de novas colunas, a remoção de colunas, a troca de tipo de dados de uma coluna, renomear as colunas, renomear a tabela e incluir restrições de integridade.
Nesta seção vamos ilustrar uso desse comando.
2.21.1. Adicionando Colunas
Vamos adicionar uma coluna chamada carga_horaria
na tabela disciplina
para armazenar a carga horária da disciplina:
ALTER TABLE disciplina ADD COLUMN carga_horaria INTEGER CHECK (carga_horaria BETWEEN 0 AND 90);
Em seguida, vamos popular os valores dessa nova coluna, com a seguinte fórmula: \(carga horária = creditos * 15\).
UPDATE disciplina SET carga_horaria = creditos * 15;
2.21.2. Definindo uma Coluna como NOT NULL
Vamos definir a nova coluna carga_horaria
como NOT NULL
:
ALTER TABLE disciplina ALTER COLUMN carga_horaria SET NOT NULL;
2.21.3. Adicionando Restrições de Linha à Tabela
Vamos definir uma restrição que garanta que os valores de carga horária estejam entre 0 e 90:
ALTER TABLE disciplina ADD CHECK ((carga_horaria / creditos) = 15);
Nota
Essa restrição fará com que não seja possível atualizar as linhas da tabela disciplina
com qualquer valor de carga horária. Faça um teste com o comando abaixo:
UPDATE disciplina SET carga_horaria = 15;
2.21.4. Removendo uma Coluna
ALTER TABLE disciplina DROP COLUMN carga_horaria;
Para mais detalhes do comando ALTER TABLE
, consulte o manual do PostgreSQL na Seção ALTER TABLE.