PostgreSQL IZMJENA TABLICE: Dodaj i preimenuj stupac
โก Pametni saลพetak
PostgreSQL Naredba ALTER TABLE mijenja strukturu postojeฤe tablice, omoguฤujuฤi vam dodavanje ili uklanjanje stupaca, preimenovanje stupca ili cijele tablice, postavljanje zadanih vrijednosti i dodavanje ograniฤenja provjere bez ponovnog stvaranja objekta.

ล to je ALTER TABLE u PostgreSQL?
The ALTER TABLE Naredba se koristi za promjenu strukture PostgreSQL tablica. To je naredba koja se koristi za promjenu stupaca tablice ili samog naziva tablice, bez uklanjanjaping i ponovno stvaranje objekta.
Sintaksa
Ovdje je sintaksa za PostgreSQL Naredba ALTER TABLE:
ALTER TABLE table-name action;
Parametar naziva tablice je naziv tablice koju trebate promijeniti. Parametar akcije je radnja koju trebate izvrลกiti, kao ลกto je promjena naziva stupca ili promjena tipa podataka stupca.
Description
Naredba ALTER TABLE mijenja definiciju postojeฤe tablice. Zauzima sljedeฤe podforme:
- DODAJ STUPAC: ovo koristi sliฤnu sintaksu kao naredba CREATE TABLE za dodavanje novog stupca u tablicu.
- ISPUSTI STUPAC: za padping stupac tablice. Ograniฤenja i indeksi nametnuti stupcima takoฤer ฤe biti uklonjeni.
- POSTAVITE/ISPUSTI ZADANO: koristi se za postavljanje ili uklanjanje zadane vrijednosti za stupac. Promjena se primjenjuje samo na sljedeฤe INSERT izjave.
- SET/DROP NIJE NULL: mijenja hoฤe li stupac dopuลกtati null vrijednosti ili ne.
- POSTAVI STATISTIKE: za postavljanje cilja prikupljanja statistike za svaki stupac za operacije ANALIZE.
- SET SKLAD: za postavljanje naฤina pohrane za stupac, bilo da je u liniji ili u dodatnoj tablici.
- SET BEZ OIDA: koristi se za uklanjanje starog OID stupca tablice.
- PREIMENOVATI: za promjenu naziva tablice ili naziva stupca.
- DODAJte ograniฤenje_tablice: koristi se za dodavanje novog ograniฤenja tablici. Koristi istu sintaksu kao i IZRADI TABELU naredba.
- KAPI OGRANIฤENJE: koristi se za ispuลกtanjeping ograniฤenje tablice.
- VLASNIK: za promjenu vlasnika tablice, niza, indeksa ili prikaza na odreฤenog korisnika.
- CLUSTER: za oznaฤavanje tablice koja ฤe se koristiti za buduฤe operacije klastera.
Izmjena stupca
Stupac se moลพe mijenjati na viลกe naฤina. Takve se izmjene vrลกe pomoฤu naredbe ALTER TABLE. Razmotrimo ih u nastavku.
Dodavanje novog stupca
Za dodavanje novog stupca u a PostgreSQL tablice, naredba ALTER TABLE se koristi sa sljedeฤom sintaksom:
ALTER TABLE table-name ADD new-column-name column-definition;
Naziv tablice je naziv tablice koju treba izmijeniti. Naziv novog stupca je naziv novog stupca koji treba dodati. Definicija stupca je tip podataka novog stupca. Pogledajte tablicu Knjiga prikazanu u nastavku:
Tablica ima dva stupca, id i name. Moramo dodati novi stupac u tablicu i dati mu naziv author. Samo pokrenite sljedeฤu naredbu:
ALTER TABLE Book ADD author VARCHAR(50);
Nakon pokretanja gornje naredbe, tablica knjiga je sada sljedeฤa:
Novi je stupac uspjeลกno dodan.
Promjena naziva stupca tablice
Moลพemo koristiti naredbu ALTER TABLE da promijenimo naziv stupca. U ovom sluฤaju, naredba se koristi sa sljedeฤom sintaksom:
ALTER TABLE table-name RENAME COLUMN old-name TO new-name;
Naziv tablice je naziv tablice ฤiji se stupac preimenuje. Stari naziv je trenutni naziv stupca, a novi naziv je novi naziv stupca. Razmotrimo tablicu Book prikazanu u nastavku:
Rezervirati:
Moramo promijeniti naziv stupca autor u book_author. Evo naredbe:
ALTER TABLE Book RENAME COLUMN author TO book_author;
Nakon pokretanja naredbe moลพemo vidjeti strukturu tablice:
Naziv stupca je uspjeลกno promijenjen.
Postavljanje zadane vrijednosti za stupac
Moลพemo postaviti zadanu vrijednost za stupac tako da ฤe se ฤak i kada ne navedete vrijednost za taj stupac tijekom INSERT operacija, koristiti zadana vrijednost. U tom sluฤaju, naredba ALTER TABLE moลพe se koristiti sa sljedeฤom sintaksom:
ALTER TABLE table-name ALTER COLUMN column-name [SET DEFAULT value];
Naziv tablice je naziv tablice ฤiji stupac treba izmijeniti. Naziv stupca je naziv stupca ฤija se zadana vrijednost treba postaviti, a vrijednost je zadana vrijednost za stupac. Razmotrimo tablicu Book danu u nastavku:
Moramo postaviti zadanu vrijednost za stupac book_author. Moลพemo pokrenuti sljedeฤu naredbu:
ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';
Sada u tablicu ubacimo redak:
INSERT INTO Book (id, name) VALUES (6, 'PostgreSQL for Beginners');
Imajte na umu da smo umetnuli vrijednosti samo za dva stupca, id i name. Meฤutim, za stupac book_author koriลกtena je zadana vrijednost:
Dodavanje ograniฤenja provjere
Ograniฤenje provjere pomaลพe u potvrฤivanju zapisa koji se umeฤu u tablicu. To moลพemo uฤiniti kombiniranjem naredbe ALTER TABLE s naredbom ADD CHECK. Sintaksa:
ALTER TABLE table-name ADD CHECK expression;
Naziv tablice je naziv tablice koju treba promijeniti, a izraz je ograniฤenje koje treba nametnuti stupcu tablice. Izmijenimo stupac book_author tablice Book tako da prihvaฤa samo vrijednosti Nicholas i Samuel:
ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'));
Sada pokuลกajmo umetnuti vrijednost koja nije Nicholas ili Samuel u stupac book_author tablice Book:
INSERT INTO Book VALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
Izjava ฤe vratiti sljedeฤu pogreลกku:
Operacija umetanja nije uspjela jer smo prekrลกili ograniฤenje provjere.
Promjena naziva tablice
Evo sintakse za naredbu ALTER TABLE za preimenovanje tablice:
ALTER TABLE table-name RENAME TO new-table-name;
Naziv tablice je trenutni naziv tablice, a novi naziv tablice je novi naziv koji ฤe se dodijeliti tablici. Na primjer, promijenimo naziv tablice Knjiga u Knjige:
ALTER TABLE Book RENAME TO Books;
Koristeฤi pgAdmin
Do sada su se radnje izvrลกavale iz SQL ljuske. Sada pogledajmo kako se iste radnje mogu vizualno izvesti pomoฤu pgAdmin-a.
Dodavanje novog stupca
Korak 1) Prijavite se na svoj pgAdmin raฤun.
Korak 2)
- Na navigacijskoj traci s lijeve strane kliknite Baze podataka.
- Pritisnite Demo.
Korak 3) Unesite upit u ureฤivaฤ upita:
ALTER TABLE Book ADD author VARCHAR(50);
Korak 4) Pritisnite gumb Izvrลกi.
Korak 5) Da biste provjerili je li stupac dodan, uฤinite sljedeฤe:
- Kliknite Baze podataka na lijevoj navigaciji.
- Proลกiri Demo.
- Proลกirite sheme.
- Proลกiri javno.
- Proลกiri tablice.
- Proลกiri knjigu.
- Proลกiri stupce.
Stupac je trebao biti dodan, kao ลกto je prikazano u nastavku:
Promjena naziva stupca tablice
Korak 1) Prijavite se na svoj pgAdmin raฤun.
Korak 2)
- Na navigacijskoj traci s lijeve strane kliknite Baze podataka.
- Pritisnite Demo.
Korak 3) Unesite upit u ureฤivaฤ upita:
ALTER TABLE Book RENAME COLUMN author TO book_author;
Korak 4) Pritisnite gumb Izvrลกi.
Korak 5) Da biste provjerili je li promjena bila uspjeลกna, proลกirite stupce tablice knjiga kao i prije:
Stupci bi sada trebali biti sljedeฤi:
Stupac je uspjeลกno promijenjen.
Postavljanje zadane vrijednosti za stupac
Korak 1) Prijavite se na svoj pgAdmin raฤun.
Korak 2)
- Na navigacijskoj traci s lijeve strane kliknite Baze podataka.
- Pritisnite Demo.
Korak 3) Unesite upit u ureฤivaฤ upita:
ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';
Korak 4) Pritisnite gumb Izvrลกi.
Korak 5) Za testiranje pokrenite sljedeฤu naredbu u ureฤivaฤu upita:
INSERT INTO Book (id, name) VALUES (6, 'PostgreSQL for Beginners')
Korak 6) Sada moลพemo postaviti upit tablici da provjerimo je li zadana vrijednost umetnuta u stupac book_author:
Dodavanje ograniฤenja provjere
Korak 1) Prijavite se na svoj pgAdmin raฤun.
Korak 2)
- Na navigacijskoj traci s lijeve strane kliknite Baze podataka.
- Pritisnite Demo.
Korak 3) Unesite upit u ureฤivaฤ upita:
ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'))
Korak 4) Pritisnite gumb Izvrลกi.
Korak 5) Da biste to testirali, upiลกite sljedeฤi upit u ureฤivaฤ upita i kliknite gumb Izvrลกi:
INSERT INTO Book VALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
Vratit ฤe sljedeฤe:
Promjena naziva tablice
Korak 1) Prijavite se na svoj pgAdmin raฤun.
Korak 2)
- Na navigacijskoj traci s lijeve strane kliknite Baze podataka.
- Pritisnite Demo.
Korak 3) Unesite upit u ureฤivaฤ upita:
ALTER TABLE Book RENAME TO Books;
Korak 4) Pritisnite gumb Izvrลกi.
Korak 5) Da biste provjerili je li tablica preimenovana, proลกirite Baze podataka > Demo > Sheme > Javno > Tablice:
Tablica je uspjeลกno preimenovana.
Preuzmite bazu podataka koriลกtenu u ovom vodiฤu

























