Pode utilizar o comando ALTER TABLE para per­so­na­li­zar tabelas no Post­greSQL. O comando é utilizado com uma ação para, por exemplo, adicionar ou alterar colunas.

O que é o Post­greSQL ALTER TABLE?

O comando ALTER TABLE é utilizado no Post­greSQL para alterar tabelas exis­ten­tes. Pode ser utilizado para adicionar ou eliminar uma coluna, ou para per­so­na­lizá-la de acordo com as suas ne­ces­si­da­des. Além disso, o Post­greSQL ALTER TABLE é utilizado para definir ou eliminar res­tri­ções numa tabela no sistema de gestão de bases de dados. Para obter o resultado pre­ten­dido, é ne­ces­sá­rio es­pe­ci­fi­car o comando com uma ação.

ALTER TABLE: sintaxe

Para uma com­pre­en­são básica, vale a pena dar uma olhada na sintaxe básica do ALTER TABLE. É a seguinte:

ALTER TABLE nombre_de_la_tabla acción;
post­gresql

O comando principal é seguido do nome da tabela na qual se pretende efetuar al­te­ra­ções. Em seguida, es­pe­ci­fi­que o comando Post­greSQL ALTER TABLE com a ação pre­ten­dida.

Dica

Para criar uma nova tabela, utilize o comando CREATE TABLE no Post­greSQL.

Post­greSQL ALTER TABLE: exemplos

Nas secções seguintes, são apre­sen­ta­dos exemplos práticos para ilustrar o fun­ci­o­na­mento ALTER TABLE. Para tal, foi criada uma tabela de exemplo com o nome «Clientes», que ini­ci­al­mente contém três colunas e três linhas. A sua aparência é a seguinte:

ID Nome Cidade
1 Sánchez Madrid
2 Morales Barcelona
3 Simón Alicante

Agora, isto pode ser per­so­na­li­zado de várias formas com ALTER TABLE do Post­greSQL.

Adicionar uma coluna no Post­greSQL ADD COLUMN

Para adicionar uma coluna adicional, utilize o comando ALTER TABLEem conjunto com o PostgreSQLADD COLUMN`. Esta ação tem dois pa­râ­me­tros: o nome da coluna e o tipo de dados da coluna. A sintaxe é a seguinte:

ALTER TABLE nombre_de_tabla ADD COLUMN nombre_de_columna tipo_datos;
post­gresql

Se quisermos adicionar uma coluna para o endereço à nossa tabela «Clientes», uti­li­za­mos o Post­greSQL ADD COLUMN da seguinte forma:

ALTER TABLE Clientes ADD COLUMN Dirección VARCHAR(255);
post­gresql

A nova tabela ampliada tem agora o seguinte aspeto:

ID Nome Cidade Endereço
1 Sánchez Madrid NULL
2 Morales Barcelona NULL
3 Simón Alicante NULL

Apagar colunas com DROP COLUMN

O pro­ce­di­mento é muito se­me­lhante se quisermos eliminar uma coluna da tabela existente. Para tal, uti­li­za­mos a ação Post­greSQL ALTER TABLE em com­bi­na­ção com a ação DROP COLUMN. Esta ação tem como único parâmetro o nome da coluna. Eis a sintaxe:

ALTER TABLE nombre_de_tabla DROP COLUMN nombre_de_columna;
post­gresql

Para eliminar a coluna «Cidade», uti­li­za­mos este código:

ALTER TABLE clientes DROP COLUMN ciudad;
post­gresql

A tabela agora tem apenas três colunas:

ID Nome Endereço
1 Sánchez NULL
2 Morales NULL
3 Simón NULL

Renomear colunas com RENAME COLUMN

Também é possível renomear uma coluna existente, o que pode ser uma boa al­ter­na­tiva à eli­mi­na­ção ou adição de novas colunas. A sintaxe de RENAME COLUMN dentro de ALTER TABLE é a seguinte:

ALTER TABLE nombre_de_tabla RENAME COLUMN nombre_de_columna TO nuevo_nombre;
post­gresql

Aqui, trans­for­ma­mos a coluna «Nome» na coluna «Nome do cliente»:

ALTER TABLE clientes RENAME COLUMN nombre TO nombre_cliente;
post­gresql

Na nossa tabela, basta alterar o nome da coluna conforme desejamos:

ID Nome do cliente Endereço
1 Sánchez NULL
2 Morales NULL
3 Simón NULL

Outras ações para o Post­greSQL ALTER TABLE

Existem muitas outras ações que podes utilizar em conjunto com ALTER TABLE. Estas são as mais im­por­tan­tes:

Para alterar o tipo de dados de uma coluna:

ALTER TABLE nombre_de_tabla ALTER COLUMN nombre_de_columna TYPE tipo_datos;
post­gresql

Para indicar que uma coluna deve receber um valor:

ALTER TABLE nombre_de_tabla ALTER COLUMN nombre_de_columna SET NOT NULL;
post­gresql

Para definir res­tri­ções como UNIQUE ou PRIMARY KEY para uma coluna, utilize o Post­greSQL ALTER TABLE em com­bi­na­ção com a ação ADD CONSTRAINT:

ALTER TABLE nombre_de_tabla ADD CONSTRAINT nombre_de_restricción definición_de_restricción;
post­gresql
Ir para o menu principal