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

























