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 .
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.
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.
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 $$
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.
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.
Se quisermos ver a tabela no psql, usaremos o comando abaixo
Javatpoint=# d Product;
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:
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.
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.
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: