U ovom odjeljku raspravljat ćemo o tome kako možemo ispustite stupce uz pomoć PROMIJENI STOL naredba.
PostgreSQL naredba DROP COLUMN
Koristit ćemo uvjet DROP COLUMN u naredbi ALTER TABLE za ispuštanje stupca tablice:
ALTER TABLE table_name DROP COLUMN column_name;
PostgreSQL će automatski izbrisati sva svoja ograničenja i indekse, uključujući stupac dok briše stupac iz tablice, a svaki uvjet ispuštanja stupca odvojen je znakom zarez (,) .
Ne možemo izbrisati one stupce u kojima drugi objekti ovise o njima i također se koriste u drugim objektima baze podataka kao što je okidači, pogledi, pohranjene procedure, itd.
java varijabla varijabla
Dakle, za uklanjanje tih stupaca i svih povezanih objekata koristit ćemo se KASKADA opcija u drop stupac naredba kako slijedi:
ALTER TABLE table_name DROP COLUMN column_name CASCADE;
Ako želimo izbrisati nepostojeći stupac, PostgreSQL će pokrenuti problem. Dodat ćemo uvjet AKO POSTOJI u naredbu drop column kako bismo riješili ovu pogrešku kao što možemo vidjeti u naredbi u nastavku:
ALTER TABLE table_name DROP COLUMN IF EXISTS column_name;
U gornjoj naredbi, ako izbrišemo stupac koji ne postoji, PostgreSQL će pokrenuti obavijest, a ne pogrešku.
Koristit ćemo naredbu u nastavku ako trebamo ukloniti različite stupce tablice u jednoj naredbi:
ALTER TABLE table_name DROP COLUMN column_name_1, DROP COLUMN column_name_2;
Primjeri naredbe PostgreSQL DROP COLUMN
Pogledajmo neke primjere kako bismo razumjeli rad IZMIJENI TABLICU ISPUSTI STUPAC naredba.
Dakle, napravit ćemo tri različite tablice, kao što je Proizvod, kategorije i marka .
U gornjem dijagramu, svaki Proizvod sadrži samo jedan marka , a svaki brend može imati više proizvoda. Svaki proizvod je dodijeljen a kategorija , a svaka kategorija može imati razne proizvode.
Sljedeće naredbe koriste se za stvaranje triju tablica (Kategorije, proizvod i marka) :
Stvaranje Kategorije tablicu uz pomoć donje naredbe:
što je const u Javi
CREATE TABLE Categories ( Cate_id serial PRIMARY KEY, Cate_name VARCHAR NOT NULL );
Izlaz
Nakon izvršenja gornje naredbe, dobit ćemo donju poruku; the Kategorije tablica je kreirana.
Stvaranje Proizvod tablicu pomoću sljedeće izjave:
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) );
Izlaz
Nakon izvršenja gornje naredbe, dobit ćemo donju poruku; the Proizvod tablica je kreirana.
Stvaranje Marka tablicu pomoću sljedeće naredbe:
CREATE TABLE Brand ( Brand_id serial PRIMARY KEY, Brand_name VARCHAR NOT NULL );
Izlaz
Nakon izvršenja gornje naredbe, dobit ćemo donju poruku; the Marka tablica je kreirana.
np.linspace
Osim toga, stvaramo pogled na temelju Proizvod i Marka tablice kako slijedi:
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;
Izlaz
Nakon izvršenja gornje naredbe, dobit ćemo donju poruku; the Informacije o proizvodu pogled je stvoren.
Koristit ćemo sljedeću naredbu ako želimo izbrisati cate_id stupac od Proizvod stol:
ALTER TABLE Product DROP COLUMN cate_id;
Izlaz
Nakon izvršenja gornje naredbe, dobit ćemo donju poruku; the cate_id stupac ispao iz Proizvod stol.
Ako želimo vidjeti tablicu u psql-u, koristit ćemo naredbu ispod
Javatpoint=# d Product;
Kao što možemo vidjeti na gornjoj snimci zaslona, gornja naredba briše Stupac Cate_id i uključuje Cat_id stupac u ograničenje stranog ključa.
Sada ćemo pokušati ispustiti Brand_id stupac iz Proizvod stol.
ALTER TABLE Product DROP COLUMN Brand_id;
Nakon što izvršimo gornju naredbu, PostgreSQL će pokrenuti donju pogrešku:
Navedeno je da je proizvod_info pogled koristi stupac Brand_id od Proizvod stol.
svojstva kiseline u dbms
Dakle, koristit ćemo se kaskada mogućnost brisanja oba Brand_id stupac i Informacije o proizvodu pogledajte uz pomoć donje naredbe:
ALTER TABLE Product DROP COLUMN Brand_id CASCADE;
Nakon što implementiramo gornju naredbu, ona će pokrenuti donju obavijest i ispustite određeni stupac.
Ovdje ćemo ispustiti oba list_price i Model_year stupaca u jednoj naredbi, a mi trebamo koristiti višestruki DROP KOLUMNA uvjetima kao što smo učinili u nastavku:
ALTER TABLE Product DROP COLUMN List_Price, DROP COLUMN Model_year;
Izlaz
Nakon izvršenja gornje naredbe, dobit ćemo prozor s porukom ispod: The Stupci List_price i Model_year izbačeni su iz Proizvod stol.
Ako želimo vidjeti rade li gore navedene operacije dobro ili ne, koristit ćemo Izaberi naredba:
Select * from Product ;
Izlaz
Nakon izvršenja gornje naredbe, dobit ćemo donji izlaz: