PostgreSQL ALTER tablica: DODAJ stupac, preimenuj primjere stupca/tablice
Naredba ALTER TABLE koristi se za promjenu strukture a PostgreSQL stol. To je naredba koja se koristi za promjenu stupaca tablice ili naziva tablice.
Sintaksa
Ovdje je sintaksa za PostgreSQL Naredba ALTER TABLE:
ALTER TABLE table-name action;
Parametar table-name je naziv tablice koji trebate promijeniti.
Parametar akcije je radnja koju trebate izvršiti, kao što je promjena naziva stupca, promjena tipa podataka stupca itd.
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 ispuštanje stupca tablice. Ograničenja i indeksi nametnuti stupcima također će biti odbačeni.
- POSTAVITE/ISPUSTI ZADANO: Koristite za uklanjanje zadane vrijednosti za stupac. Međutim, promjena će se odnositi samo na naknadne INSERT izjave.
- SET/DROP NIJE NULL: Mijenja hoće li stupac dopustiti null ili ne.
- SET STATISTIKE: Za postavljanje cilja prikupljanja statistike za svaki stupac za operacije ANALIZA.
- SET SKLAD: Za postavljanje načina pohrane za stupac. Ovo će odrediti gdje se stupac drži, bilo u liniji ili u dodatnoj tablici.
- SET BEZ OIDA: Koristi se za uklanjanje starog stupca tablice.
- PREIMENOVATI: za promjenu naziva tablice ili naziva stupca.
- DODAJte ograničenje_tablice: Koristi se za dodavanje novog ograničenja u tablicu. Koristi istu sintaksu kao IZRADI TABELU naredba.
- KAPI OGRANIČENJE: Koristi se za ispuštanje ograničenja tablice.
- VLASNIK: za promjenu vlasnika tablice, niza, indeksa ili pogleda na određenog korisnika.
- CLUSTER: za označavanje tablice koja će se koristiti za izvođenje budućih operacija klastera.
Izmjena stupca
Stupac se može modificirati na više načina. Takve izmjene mogu se izvršiti pomoću naredbe ALTER TABLE. Razmotrimo ovo:
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 modificirati.
New-column-name naziv je novog stupca koji se dodaje.
Definicija stupca je tip podataka novog stupca.
Pogledajte tablicu knjiga prikazanu u nastavku:
Tablica ima dva stupca, id i naziv. Trebamo dodati novi stupac u tablicu i dati mu ime autor. 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 stupac treba preimenovati.
Stari naziv je stari/trenutni naziv stupca.
New-name je novi naziv stupca. Razmotrite tablicu Knjigu prikazanu u nastavku:
Rezervirati:
Trebamo ime autora stupca za 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 koristiti zadana vrijednost čak i kada ne navedete vrijednost za taj stupac tijekom INSERT operacija. U ovom 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 se stupac želi izmijeniti.
Ime stupca je ime za čiju zadanu vrijednost treba postaviti.
Vrijednost je zadana vrijednost za stupac.
Razmotrite donju tablicu knjiga:
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, zadana vrijednost korištena je za stupac book_author:
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.
Izraz je ograničenje koje treba nametnuti stupcu tablice.
Modificirajmo 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.
New-table-name 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
Sada da vidimo kako se ove radnje mogu izvesti pomoću pgAdmin-a.
Dodavanje novog stupca
Da biste postigli isto putem pgAdmina, učinite ovo:
Korak 1) Prijavite se na svoj pgAdmin račun.
Korak 2)
- Na navigacijskoj traci s lijeve strane kliknite Databases.
- 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
Da biste postigli isto putem pgAdmina, učinite ovo:
Korak 1) Prijavite se na svoj pgAdmin račun.
Korak 2)
- Na navigacijskoj traci s lijeve strane kliknite Databases.
- 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) Kako biste provjerili je li promjena bila uspješna, 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.
Stupci bi sada trebali biti sljedeći:
Stupac je uspješno promijenjen.
Postavljanje zadane vrijednosti za stupac
Da biste postigli isto putem pgAdmina, učinite ovo:
Korak 1) Prijavite se na svoj pgAdmin račun.
Korak 2)
- Na navigacijskoj traci s lijeve strane kliknite Databases.
- 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
Da biste postigli isto putem pgAdmina, učinite ovo:
Korak 1) Prijavite se na svoj pgAdmin račun.
Korak 2)
- Na navigacijskoj traci s lijeve strane kliknite Databases.
- 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, učinite sljedeće:
- Unesite sljedeći upit u uređivač upita:
INSERT INTO Book VALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
- Pritisnite gumb Izvrši.
Vratit će sljedeće:
Promjena naziva tablice
Da biste postigli isto putem pgAdmina, učinite ovo:
Korak 1) Prijavite se na svoj pgAdmin račun.
Korak 2)
- Na navigacijskoj traci s lijeve strane kliknite Databases.
- 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, učinite sljedeće:
- Kliknite Baze podataka na lijevoj navigaciji.
- Proširi Demo.
- Proširite sheme.
- Proširi javno.
- Proširi tablice.
Tablica je uspješno preimenovana.
Rezime
- Naredba ALTER TABLE koristi se za izmjenu strukture tablice.
- Naredba ALTER TABLE ima različite oblike ovisno o zadatku koji trebate izvršiti.
- Struktura mogu biti stupci tablice ili sama tablica.
- Ovu naredbu možemo koristiti za promjenu naziva tablice.
- Naredba ALTER TABLE može se koristiti za postavljanje zadane vrijednosti stupca.
- Izjava se može koristiti za provjeru valjanosti vrijednosti koje su unesene u stupac tablice.
Preuzmite bazu podataka korištenu u ovom vodiču