logo

Coluna de eliminação do PostgreSQL

Nesta seção, discutiremos como podemos solte as colunas com a ajuda do ALTERAR A TABELA comando.

Comando DROP COLUMN do PostgreSQL

Usaremos a condição DROP COLUMN no comando ALTER TABLE para eliminar uma coluna de uma tabela:

 ALTER TABLE table_name DROP COLUMN column_name; 

O PostgreSQL excluirá automaticamente todas as suas restrições e índices, incluindo a coluna ao excluir uma coluna de uma tabela, e cada condição de eliminação de coluna é separada por um vírgula (,) .

Não podemos excluir aquelas colunas onde os outros objetos dependem delas e também usadas em outros objetos de banco de dados como gatilhos, visualizações, procedimentos armazenados, etc.

lobo contra raposa

Então, para remover essas colunas e todos os seus objetos conectados, usaremos o CASCATA opção no coluna suspensa comando da seguinte forma:

 ALTER TABLE table_name DROP COLUMN column_name CASCADE; 

Se quisermos excluir uma coluna inexistente, o PostgreSQL levantará um problema. Adicionaremos a condição IF EXISTS no comando drop column para superar esse erro, como podemos ver no comando abaixo:

 ALTER TABLE table_name DROP COLUMN IF EXISTS column_name; 

No comando acima, se excluirmos uma coluna que não existe, o PostgreSQL irá gerar um aviso em vez de um erro.

Usaremos o comando abaixo se precisarmos remover as várias colunas de uma tabela em um único comando:

 ALTER TABLE table_name DROP COLUMN column_name_1, DROP COLUMN column_name_2; 

Exemplos de comando DROP COLUMN do PostgreSQL

Vejamos alguns exemplos para entender o funcionamento do ALTERAR COLUNA DE QUEDA DE TABELA comando.

Então, criaremos três tabelas diferentes, como Produto, categorias e marca .

Coluna de eliminação do PostgreSQL

No diagrama acima, cada produtos contém apenas um marca , e cada marca pode ter vários produtos. Cada produto é atribuído a um categoria , e cada categoria pode ter vários produtos.

Os seguintes comandos são usados ​​para criar as três tabelas (Categorias, Produto e Marca) :

Criando o Categorias tabela com a ajuda do comando abaixo:

inserir no teclado
 CREATE TABLE Categories ( Cate_id serial PRIMARY KEY, Cate_name VARCHAR NOT NULL ); 

Saída

Após executar o comando acima, receberemos a mensagem abaixo; o Categorias tabela foi criada.

Coluna de eliminação do PostgreSQL

Criando o produtos tabela usando a seguinte instrução:

 CREATE TABLE Product ( Pro_id serial PRIMARY KEY, Pro_name VARCHAR NOT NULL, Brand_id INT NOT NULL, Cate_id INT NOT NULL, List_price DECIMAL NOT NULL, Model_year SMALLINT NOT NULL, FOREIGN KEY (Cate_id) REFERENCES Categories (Cate_id), FOREIGN KEY (Brand_id) REFERENCES Brand (Brand_id) ); 

Saída

Após executar o comando acima, receberemos a mensagem abaixo; o produtos tabela foi criada.

Coluna de eliminação do PostgreSQL

Criando o Marca tabela usando o seguinte comando:

 CREATE TABLE Brand ( Brand_id serial PRIMARY KEY, Brand_name VARCHAR NOT NULL ); 

Saída

Após executar o comando acima, receberemos a mensagem abaixo; o Marca tabela foi criada.

diferença entre $ e $$
Coluna de eliminação do PostgreSQL

Além disso, criamos uma visão baseada no produtos e Marca tabelas da seguinte forma:

 CREATE VIEW Product_info AS SELECT Pro_id, Pro_name, Brand_name FROM Product p INNER JOIN Brand B ON B .Brand_id = p.Brand_id ORDER BY Pro_name; 

Saída

Após executar o comando acima, receberemos a mensagem abaixo; o Informação do produto visualização foi criada.

Coluna de eliminação do PostgreSQL

Usaremos o seguinte comando se quisermos excluir o cate_id coluna do produtos mesa:

 ALTER TABLE Product DROP COLUMN cate_id; 

Saída

Após executar o comando acima, receberemos a mensagem abaixo; o cate_id coluna retirada do produtos mesa.

Coluna de eliminação do PostgreSQL

Se quisermos ver a tabela no psql, usaremos o comando abaixo

 Javatpoint=# d Product; 

Coluna de eliminação do PostgreSQL

Como podemos ver na imagem acima, o comando acima exclui o Coluna Cate_id e inclui o Cate_id coluna na restrição de chave estrangeira.

Agora vamos tentar abandonar o ID da marca coluna do produtos mesa.

 ALTER TABLE Product DROP COLUMN Brand_id; 

Assim que executarmos o comando acima, o PostgreSQL irá gerar o erro abaixo:

Coluna de eliminação do PostgreSQL

Afirmou que o informação do produto view está usando a coluna ID da marca do produtos mesa.

java substituir tudo

Então, usaremos o cascata opção para excluir ambos os ID_da_marca coluna e Informação do produto visualize com a ajuda do comando abaixo:

 ALTER TABLE Product DROP COLUMN Brand_id CASCADE; 

Assim que implementarmos o comando acima, ele irá gerar o seguinte perceber e elimine a coluna específica.

Coluna de eliminação do PostgreSQL

Aqui, vamos abandonar ambos os preço_lista e ano_modelo colunas em um único comando, e precisamos usar o múltiplas COLUNAS DE QUEDA condições como fizemos abaixo:

 ALTER TABLE Product DROP COLUMN List_Price, DROP COLUMN Model_year; 

Saída

Após executar o comando acima, obteremos a janela de mensagem abaixo: O Colunas List_price e Model_year foram retirados do produtos mesa.

Coluna de eliminação do PostgreSQL

Se quisermos ver se as operações acima estão funcionando bem ou não, usaremos o Selecione comando:

 Select * from Product ; 

Saída

Após executar o comando acima, obteremos a saída abaixo:

Coluna de eliminação do PostgreSQL