PostgreSQL Tabela ALTER: ADICIONAR Coluna, Renomear Exemplos de Coluna/Tabela
O comando ALTER TABLE รฉ usado para alterar a estrutura de uma PostgreSQL mesa. ร o comando usado para alterar as colunas da tabela ou o nome da tabela.
Sintaxe
Aqui estรก a sintaxe para o PostgreSQL Comando ALTER TABLE:
ALTER TABLE table-name action;
O parรขmetro table-name รฉ o nome da tabela que vocรช precisa alterar.
O parรขmetro action รฉ a aรงรฃo que vocรช precisa executar, como alterar o nome de uma coluna, alterar o tipo de dados de uma coluna, etc.
Descriรงรฃo
O comando ALTER TABLE altera a definiรงรฃo de uma tabela existente. Leva os seguintes subformulรกrios:
- ADICIONE COLUNA: usa sintaxe semelhante ao comando CREATE TABLE para adicionar uma nova coluna a uma tabela.
- COLUNA DE DESCARGA: para quedaping uma coluna da tabela. As restriรงรตes e os รญndices impostos ร s colunas tambรฉm serรฃo removidos.
- DEFINIR/DEIXAR PADRรO: use para remover o valor padrรฃo de uma coluna. No entanto, a alteraรงรฃo sรณ se aplicarรก aos prรณximos Instruรงรตes INSERT.
- SET/DROP NรO NULO: altera se uma coluna permitirรก nulos ou nรฃo.
- DEFINIR ESTATรSTICAS: Para definir o alvo de coleta de estatรญsticas para cada coluna para operaรงรตes ANALYZE.
- DEFINIR ARMAZENAMENTO: Para definir o modo de armazenamento de uma coluna. Isso determinarรก onde a coluna serรก mantida, seja in-line ou em uma tabela suplementar.
- CONJUNTO SEM OIDS: Use para remover a coluna antiga da tabela.
- RENOMEAR: para alterar o nome da tabela ou o nome da coluna.
- ADICIONAR tabela_constraint: Use para adicionar uma nova restriรงรฃo a uma tabela. Ele usa a mesma sintaxe que CRIAR TABELA comando.
- QUEDA DE RESTRIรรO: Usar para soltarping uma restriรงรฃo de tabela.
- PROPRIETรRIO: para alterar o proprietรกrio de uma tabela, sequรชncia, รญndice ou visualizaรงรฃo para um determinado usuรกrio.
- CLUSTER: para marcar uma tabela a ser usada para realizar futuras operaรงรตes de cluster.
Modificando uma coluna
Uma coluna pode ser modificada de diversas maneiras. Tais modificaรงรตes podem ser feitas utilizando o comando ALTER TABLE. Vamos discutir isso:
Adicionando uma nova coluna
Para adicionar uma nova coluna a um PostgreSQL tabela, o comando ALTER TABLE รฉ usado com a seguinte sintaxe:
ALTER TABLE table-name ADD new-column-name column-definition;
O nome da tabela รฉ o nome da tabela a ser modificada.
O nome da nova coluna รฉ o nome da nova coluna a ser adicionada.
A definiรงรฃo da coluna รฉ a tipo de dados da nova coluna.
Veja a tabela de livros mostrada abaixo:
A tabela possui duas colunas, id e nome. Precisamos adicionar uma nova coluna ร tabela e dar a ela o nome de autor. Basta executar o seguinte comando:
ALTER TABLE Book ADD author VARCHAR(50);
Depois de executar o comando acima, a tabela Book agora fica da seguinte forma:
A nova coluna foi adicionada com sucesso.
Renomeando uma coluna de tabela
Podemos usar o comando ALTER TABLE para alterar o nome de uma coluna. Neste caso, o comando รฉ utilizado com a seguinte sintaxe:
ALTER TABLE table-name RENAME COLUMN old-name TO new-name;
O nome da tabela รฉ o nome da tabela cuja coluna serรก renomeada.
O nome antigo รฉ o nome antigo/atual da coluna.
O novo nome รฉ o novo nome da coluna. Considere a tabela Book mostrada abaixo:
Livro:
Precisamos do nome do autor da coluna para book_author. Aqui estรก o comando:
ALTER TABLE Book RENAME COLUMN author TO book_author;
Apรณs executar o comando, podemos visualizar a estrutura da tabela:
O nome da coluna foi alterado com sucesso.
Definindo um valor padrรฃo para uma coluna
Podemos definir um valor padrรฃo para uma coluna de forma que mesmo quando vocรช nรฃo especificar um valor para essa coluna durante as operaรงรตes INSERT, o valor padrรฃo serรก usado. Neste caso, o comando ALTER TABLE pode ser utilizado com a seguinte sintaxe:
ALTER TABLE table-name ALTER COLUMN column-name [SET DEFAULT value];
O nome da tabela รฉ o nome da tabela cuja coluna deve ser modificada.
O nome da coluna รฉ o nome cujo valor padrรฃo deve ser definido.
O valor รฉ o valor padrรฃo da coluna.
Considere a tabela do livro fornecida abaixo:
Precisamos definir um valor padrรฃo para a coluna book_author. Podemos executar o seguinte comando:
ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';
Agora, vamos inserir uma linha na tabela:
INSERT INTO Book (id, name) VALUES (6, 'PostgreSQL for Beginners');
Observe que inserimos valores para apenas duas colunas, id e nome. No entanto, o valor padrรฃo foi usado para a coluna book_author:
Adicionando uma restriรงรฃo de verificaรงรฃo
Uma restriรงรฃo de verificaรงรฃo ajuda a validar os registros que estรฃo sendo inseridos em uma tabela. Podemos fazer isso combinando o comando ALTER TABLE com a instruรงรฃo ADD CHECK. Sintaxe:
ALTER TABLE table-name ADD CHECK expression;
O nome da tabela รฉ o nome da tabela a ser alterada.
A expressรฃo รฉ a restriรงรฃo a ser imposta ร coluna da tabela.
Vamos modificar a coluna book_author da tabela Book para que ela aceite apenas os valores Nicholas e Samuel:
ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'));
Agora, vamos tentar inserir um valor diferente de Nicholas ou Samuel na coluna book_author da tabela Book:
INSERT INTO Book VALUES(7, 'Melhor PostgreSQL Book', 'Gregory Bush');
A instruรงรฃo retornarรก o seguinte erro:
A operaรงรฃo de inserรงรฃo falhou porque violamos a restriรงรฃo de verificaรงรฃo.
Renomeando uma tabela
Aqui estรก a sintaxe do comando ALTER TABLE para renomear uma tabela:
ALTER TABLE table-name RENAME TO new-table-name;
O nome da tabela รฉ o nome atual da tabela.
O novo nome da tabela รฉ o novo nome a ser atribuรญdo ร tabela.
Por exemplo, vamos mudar o nome da tabela Livro para Livros:
ALTER TABLE Book RENAME TO Books;
Usando pgAdmin
Agora vamos ver como essas aรงรตes podem ser realizadas usando o pgAdmin.
Adicionando uma nova coluna
Para fazer o mesmo por meio do pgAdmin, faรงa o seguinte:
Passo 1) Faรงa login em sua conta pgAdmin.
Passo 2)
- Na barra de navegaรงรฃo ร esquerda, clique em Bancos de dados.
- Clique em Demonstraรงรฃo.
Passo 3) Digite a consulta no editor de consultas:
ALTER TABLE Book ADD author VARCHAR(50);
Passo 4) Clique no botรฃo Executar.
Passo 5) Para verificar se a coluna foi adicionada, faรงa o seguinte:
- Clique em Bancos de dados na navegaรงรฃo esquerda.
- Expanda Demonstraรงรฃo.
- Expanda Esquemas.
- Expanda Pรบblico.
- Expanda Tabelas.
- Expandir livro.
- Expanda Colunas.
A coluna deveria ter sido adicionada, conforme mostrado abaixo:
Renomeando uma coluna de tabela
Para fazer o mesmo por meio do pgAdmin, faรงa o seguinte:
Passo 1) Faรงa login em sua conta pgAdmin.
Passo 2)
- Na barra de navegaรงรฃo ร esquerda, clique em Bancos de dados.
- Clique em Demonstraรงรฃo.
Passo 3) Digite a consulta no editor de consultas:
ALTER TABLE Book RENAME COLUMN author TO book_author;
Passo 4) Clique no botรฃo Executar.
Passo 5) Para verificar se a alteraรงรฃo foi bem-sucedida, faรงa o seguinte:
- Clique em Bancos de dados na navegaรงรฃo esquerda.
- Expanda Demonstraรงรฃo.
- Expanda Esquemas.
- Expanda Pรบblico.
- Expanda Tabelas.
- Expandir livro.
- Expanda Colunas.
As colunas agora devem ser as seguintes:
A coluna foi alterada com sucesso.
Definindo um valor padrรฃo para uma coluna
Para fazer o mesmo por meio do pgAdmin, faรงa o seguinte:
Passo 1) Faรงa login em sua conta pgAdmin.
Passo 2)
- Na barra de navegaรงรฃo ร esquerda, clique em Bancos de dados.
- Clique em Demonstraรงรฃo.
Passo 3) Digite a consulta no editor de consultas:
ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';
Passo 4) Clique no botรฃo Executar.
Passo 5) Para testar, execute o seguinte comando no editor de consultas:
INSERT INTO Book (id, name) VALUES (6, 'PostgreSQL for Beginners')
Passo 6) Agora podemos consultar a tabela para verificar se o valor padrรฃo foi inserido na coluna book_author:
Adicionando uma restriรงรฃo de verificaรงรฃo
Para fazer o mesmo por meio do pgAdmin, faรงa o seguinte:
Passo 1) Faรงa login em sua conta pgAdmin.
Passo 2)
- Na barra de navegaรงรฃo ร esquerda, clique em Bancos de dados.
- Clique em Demonstraรงรฃo.
Passo 3) Digite a consulta no editor de consultas:
ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'))
Passo 4) Clique no botรฃo Executar.
Passo 5) Para testar isso, faรงa o seguinte:
- Digite a seguinte consulta no editor de consultas:
INSERT INTO Book VALUES(7, 'Melhor PostgreSQL Book', 'Gregory Bush');
- Clique no botรฃo Executar.
Ele retornarรก o seguinte:
Renomeando uma tabela
Para fazer o mesmo por meio do pgAdmin, faรงa o seguinte:
Passo 1) Faรงa login em sua conta pgAdmin.
Passo 2)
- Na barra de navegaรงรฃo ร esquerda, clique em Bancos de dados.
- Clique em Demonstraรงรฃo.
Passo 3) Digite a consulta no editor de consultas:
ALTER TABLE Book RENAME TO Books;
Passo 4) Clique no botรฃo Executar.
Passo 5) Para verificar se a tabela foi renomeada, faรงa o seguinte:
- Clique em Bancos de dados na navegaรงรฃo esquerda.
- Expanda Demonstraรงรฃo.
- Expanda Esquemas.
- Expanda Pรบblico.
- Expanda Tabelas.
A tabela foi renomeada com sucesso.
Resumo
- A instruรงรฃo ALTER TABLE รฉ usada para modificar a estrutura da tabela.
- O comando ALTER TABLE assume vรกrios formatos dependendo da tarefa que vocรช precisa executar.
- A estrutura pode ser as colunas da tabela ou a prรณpria tabela.
- Podemos usar esta instruรงรฃo para alterar o nome de uma tabela.
- O comando ALTER TABLE pode ser usado para definir o valor padrรฃo de uma coluna.
- A instruรงรฃo pode ser usada para validar os valores inseridos em uma coluna da tabela.

























