Šiame skyriuje aptarsime, kaip galime mesti stulpelius su pagalba PAKEISTI LENTELĘ komandą.
PostgreSQL DROP COLUMN komanda
Mes naudosime sąlygą DROP COLUMN komandoje ALTER TABLE, kad išmestume lentelės stulpelį:
ALTER TABLE table_name DROP COLUMN column_name;
PostgreSQL automatiškai ištrins visus savo apribojimus ir indeksus, įskaitant stulpelį, ištrindama stulpelį iš lentelės, o kiekviena nuleidžiamo stulpelio sąlyga bus atskirta kablelis (,) .
Negalime ištrinti tų stulpelių, kur kiti objektai priklauso nuo jų ir naudojami kituose duomenų bazės objektuose, pvz aktyvikliai, rodiniai, saugomos procedūros, ir tt
Taigi, norėdami pašalinti tuos stulpelius ir visus su jais susijusius objektus, naudosime KASKADA parinktis lašas stulpelis komandą taip:
ALTER TABLE table_name DROP COLUMN column_name CASCADE;
Jei norime ištrinti neegzistuojantį stulpelį, PostgreSQL iškels problemą. Mes įtrauksime sąlygą IF EXISTS į nuleidimo stulpelio komandą, kad pašalintume šią klaidą, kaip matome toliau pateiktoje komandoje:
ALTER TABLE table_name DROP COLUMN IF EXISTS column_name;
Aukščiau pateiktoje komandoje, jei ištrinsime stulpelį, kurio nėra, PostgreSQL pateiks pranešimą, o ne klaidą.
Mes naudosime toliau pateiktą komandą, jei turėsime pašalinti įvairius lentelės stulpelius viena komanda:
ALTER TABLE table_name DROP COLUMN column_name_1, DROP COLUMN column_name_2;
PostgreSQL DROP COLUMN komandos pavyzdžiai
Pažiūrėkime keletą pavyzdžių, kad suprastume, kaip veikia PAKEISTI LENTELĖS NULEIDIMO Stulpelį komandą.
Taigi, sukursime tris skirtingas lenteles, pvz Produktas, kategorijos ir prekės ženklas .
Aukščiau pateiktoje diagramoje kiekvienas Produktas yra tik vienas prekės ženklas , ir kiekvienas prekės ženklas gali turėti keletą produktų. Kiekvienas produktas yra priskirtas a Kategorija , ir kiekvienoje kategorijoje gali būti įvairių produktų.
java žemėlapis
Šios komandos naudojamos trims lentelėms sukurti (Kategorijos, produktas ir prekės ženklas) :
Kuriant Kategorijos lentelę naudodami žemiau esančią komandą:
CREATE TABLE Categories ( Cate_id serial PRIMARY KEY, Cate_name VARCHAR NOT NULL );
Išvestis
Įvykdę aukščiau pateiktą komandą, gausime žemiau esantį pranešimą; į Kategorijos lentelė buvo sukurta.
Kuriant Produktas lentelę naudojant šį teiginį:
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) );
Išvestis
Įvykdę aukščiau pateiktą komandą, gausime žemiau esantį pranešimą; į Produktas lentelė buvo sukurta.
Kuriant Prekės ženklas lentelę naudodami šią komandą:
CREATE TABLE Brand ( Brand_id serial PRIMARY KEY, Brand_name VARCHAR NOT NULL );
Išvestis
Įvykdę aukščiau pateiktą komandą, gausime žemiau esantį pranešimą; į Prekės ženklas lentelė buvo sukurta.
Be to, mes sukuriame vaizdą, pagrįstą Produktas ir Prekės ženklas lenteles taip:
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;
Išvestis
Įvykdę aukščiau pateiktą komandą, gausime žemiau esantį pranešimą; į Produkto_informacija vaizdas buvo sukurtas.
kur yra nešiojamojo kompiuterio klaviatūros įterpimo klavišas
Jei norime ištrinti, naudosime šią komandą cat_id stulpelyje Produktas lentelė:
ALTER TABLE Product DROP COLUMN cate_id;
Išvestis
Įvykdę aukščiau pateiktą komandą, gausime žemiau esantį pranešimą; į cat_id stulpelis nukrito iš Produktas stalo.
papildiklis pilnas
Jei norime matyti lentelę psql, naudosime toliau pateiktą komandą
Javatpoint=# d Product;
Kaip matome aukščiau esančioje ekrano kopijoje, aukščiau pateikta komanda ištrina Kategorijos_id stulpelis ir apima Kategorijos_id į išorinio rakto apribojimą.
Dabar pabandysime atsisakyti Brand_id stulpelis iš Produktas stalo.
ALTER TABLE Product DROP COLUMN Brand_id;
Kai vykdysime aukščiau pateiktą komandą, PostgreSQL iškels toliau pateiktą klaidą:
Jame buvo nurodyta, kad produkto_informacija rodinys naudoja stulpelį Brand_id iš Produktas stalo.
Taigi, mes naudosime kaskados galimybė ištrinti abu Brand_id stulpelis ir Produkto_informacija peržiūrėti naudodami toliau pateiktą komandą:
ALTER TABLE Product DROP COLUMN Brand_id CASCADE;
Kai įgyvendinsime aukščiau pateiktą komandą, ji iškels žemiau pateiktą komandą pastebėti ir nuleiskite konkretų stulpelį.
Čia mes atsisakysime abu list_price ir Model_year stulpelius vienoje komandoje, ir mes turime naudoti keli DROP COLUMN sąlygos, kaip mes padarėme toliau:
ALTER TABLE Product DROP COLUMN List_Price, DROP COLUMN Model_year;
Išvestis
Įvykdę aukščiau pateiktą komandą, gausime žemiau esantį pranešimo langą: The Stulpeliai „List_price“ ir „Model_year“. buvo išmesti iš Produktas stalo.
Jei norime, kad aukščiau nurodytos operacijos veiktų gerai ar ne, naudosime Pasirinkite komanda:
Select * from Product ;
Išvestis
Įvykdę aukščiau pateiktą komandą, gausime žemiau pateiktą išvestį: