PostgreSQL ALTER TABLE: Oszlop hozzáadása és átnevezése
⚡ Okos összefoglaló
PostgreSQL Az ALTER TABLE parancs megváltoztatja egy meglévő tábla szerkezetét, lehetővé téve oszlopok hozzáadását vagy eltávolítását, oszlop vagy az egész tábla átnevezését, alapértelmezett értékek beállítását és ellenőrzési korlátozások csatolását az objektum újbóli létrehozása nélkül.

Mi az ALTER TABLE a következőben? PostgreSQL?
Az ALTER TABLE A parancs egy struktúra megváltoztatására szolgál. PostgreSQL tábla. Ez a parancs a tábla oszlopainak vagy magának a táblának a nevének megváltoztatására szolgál, a parancs törlése nélkül.ping és a tárgy újraalkotása.
Szintaxis
Itt van a szintaxis a PostgreSQL ALTER TABLE parancs:
ALTER TABLE table-name action;
A table-name paraméter a módosítandó tábla neve. Az action paraméter a végrehajtandó művelet, például egy oszlop nevének vagy egy oszlop adattípusának módosítása.
Leírás
Az ALTER TABLE parancs megváltoztatja egy meglévő tábla definícióját. A következő alűrlapokat használja:
- OSZLOP HOZZÁADÁSA: ez hasonló szintaxist használ, mint a CREATE TABLE parancs egy új oszlop táblázatba való hozzáadásához.
- DROP OSZLOP: csepp eseténping egy tábla oszlopa. Az oszlopokra vonatkozó korlátozások és indexek is elveti őket.
- ALAPÉRTELMEZÉS BEÁLLÍTÁSA/DROP: oszlop alapértelmezett értékének beállítására vagy eltávolítására szolgál. A módosítás csak a továbbiakra vonatkozik. INSERT utasítások.
- SET/DROP NOT NULL: megváltoztatja, hogy egy oszlop engedélyezi-e a null értékeket vagy sem.
- STATISZTIKÁK BEÁLLÍTÁSA: az ANALYZE műveletek egyes oszlopainak statisztikai céljának beállításához.
- TÁROLÁS BEÁLLÍTÁSA: oszlop tárolási módjának beállítására szolgál, legyen az soron belüli vagy kiegészítő táblában.
- OIID NÉLKÜLI BEÁLLÍTÁS: a tábla régi OID oszlopának eltávolítására szolgál.
- ÁTNEVEZÉS: a tábla vagy oszlopnév megváltoztatásához.
- ADD table_constraint: új megszorítás táblázathoz való hozzáadására szolgál. Ugyanazt a szintaxist használja, mint a TÁBLÁZAT LÉTREHOZÁSA parancs.
- CSEPP KORLÁTOZÁS: csepphez használjákping egy táblázatkorlátozás.
- TULAJDONOS: egy tábla, sorozat, index vagy nézet tulajdonosának egy adott felhasználóra módosításához.
- CSOPORT: egy táblázat megjelölésére a jövőbeli klaszterműveletekhez.
Oszlop módosítása
Egy oszlop többféleképpen módosítható. Az ilyen módosításokat az ALTER TABLE parancs segítségével végezhetjük el. Ezeket az alábbiakban tárgyaljuk.
Új oszlop hozzáadása
Új oszlop hozzáadásához a PostgreSQL táblázatban, az ALTER TABLE parancs a következő szintaxissal használatos:
ALTER TABLE table-name ADD new-column-name column-definition;
A tábla neve a módosítandó tábla neve. Az új oszlop neve a hozzáadandó új oszlop neve. Az oszlopdefiníció a adattípus az új oszlopban. Lásd az alábbi Könyv táblázatot:
A táblázat két oszlopból áll, az id és a name oszlopból. Hozzá kell adnunk egy új oszlopot a táblázathoz, és adnunk neki az author nevet. Ehhez futtassuk a következő parancsot:
ALTER TABLE Book ADD author VARCHAR(50);
A fenti parancs futtatása után a Book táblázat a következő:
Az új oszlop sikeresen hozzáadva.
Táblázatoszlop átnevezése
Az ALTER TABLE paranccsal módosíthatjuk egy oszlop nevét. Ebben az esetben a parancs a következő szintaxissal kerül felhasználásra:
ALTER TABLE table-name RENAME COLUMN old-name TO new-name;
A „table-name” (táblanév) annak a táblának a neve, amelynek oszlopát át akarjuk nevezni. A „old-name” (régi név) az oszlop jelenlegi neve, az „new-name” (új név) pedig az oszlop új neve. Tekintsük az alább látható „Book” táblát:
Könyv:
A szerző oszlopnevét book_author-ra kell változtatnunk. Íme a parancs:
ALTER TABLE Book RENAME COLUMN author TO book_author;
A parancs futtatása után megtekinthetjük a táblázat szerkezetét:
Az oszlopnév módosítása sikeresen megtörtént.
Oszlop alapértelmezett értékének beállítása
Beállíthatunk egy alapértelmezett értéket egy oszlophoz, így akkor is, ha az INSERT műveletek során nem adunk meg értéket az adott oszlophoz, az alapértelmezett érték lesz érvényben. Ebben az esetben az ALTER TABLE parancs a következő szintaxissal használható:
ALTER TABLE table-name ALTER COLUMN column-name [SET DEFAULT value];
A „table-name” (táblanév) annak a táblának a neve, amelynek oszlopát módosítani kívánjuk. Az „column-name” (oszlopnév) annak az oszlopnak a neve, amelynek alapértelmezett értékét be kell állítani, az „value” (érték) pedig az oszlop alapértelmezett értéke. Tekintsük az alábbi Book táblát:
Be kell állítanunk egy alapértelmezett értéket a book_author oszlophoz. A következő parancsot futtathatjuk:
ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';
Most pedig szúrjunk be egy sort a táblázatba:
INSERT INTO Book (id, name) VALUES (6, 'PostgreSQL for Beginners');
Megjegyzendő, hogy csak két oszlophoz, az id és a name oszlophoz adtunk meg értékeket. A book_author oszlophoz azonban az alapértelmezett értéket használtuk:
Ellenőrző kényszer hozzáadása
Az ellenőrzési megkötés segít a táblába beszúrt rekordok érvényesítésében. Ezt úgy tehetjük meg, hogy az ALTER TABLE parancsot az ADD CHECK utasítással kombináljuk. Szintaxis:
ALTER TABLE table-name ADD CHECK expression;
A „table-name” a módosítandó tábla neve, a „expression” pedig a tábla oszlopára vonatkozó megszorítás. Módosítsuk a Book tábla „book_author” oszlopát úgy, hogy csak a Nicholas és Samuel értékeket fogadja el:
ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'));
Most próbáljunk meg Nicholastól vagy Samueltől eltérő értéket beilleszteni a Book_author oszlopába a Book táblában:
INSERT INTO Book VALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
Az utasítás a következő hibát adja vissza:
A beszúrási művelet meghiúsult, mert megszegtük az ellenőrzési kényszert.
Táblázat átnevezése
Íme az ALTER TABLE parancs szintaxisa a tábla átnevezéséhez:
ALTER TABLE table-name RENAME TO new-table-name;
A „table-name” a tábla aktuális neve, az „new-table-name” pedig a táblához rendelendő új név. Például változtassuk meg a „Book” tábla nevét „Books”-ra:
ALTER TABLE Book RENAME TO Books;
pgAdmin használatával
Eddig a műveleteket az SQL shellből futtattuk. Most nézzük meg, hogyan hajthatók végre ugyanezek a műveletek vizuálisan a pgAdmin használatával.
Új oszlop hozzáadása
Step 1) Jelentkezzen be pgAdmin fiókjába.
Step 2)
- A bal oldali navigációs sávon kattintson az Adatbázisok elemre.
- Kattintson a Demo gombra.
Step 3) Írja be a lekérdezést a lekérdezésszerkesztőbe:
ALTER TABLE Book ADD author VARCHAR(50);
Step 4) Kattintson a Végrehajtás gombra.
Step 5) Az oszlop hozzáadásának ellenőrzéséhez tegye a következőket:
- Kattintson a bal oldali navigációs panelen az Adatbázisok elemre.
- Bontsa ki a Demo elemet.
- Bontsa ki a Sémákat.
- Bontsa ki a Nyilvános elemet.
- Bontsa ki a táblázatokat.
- Könyv kibontása.
- Bontsa ki az Oszlopok elemet.
Az oszlopot az alábbiak szerint kellett volna hozzáadni:
Táblázatoszlop átnevezése
Step 1) Jelentkezzen be pgAdmin fiókjába.
Step 2)
- A bal oldali navigációs sávon kattintson az Adatbázisok elemre.
- Kattintson a Demo gombra.
Step 3) Írja be a lekérdezést a lekérdezésszerkesztőbe:
ALTER TABLE Book RENAME COLUMN author TO book_author;
Step 4) Kattintson a Végrehajtás gombra.
Step 5) A módosítás sikerességének ellenőrzéséhez bontsa ki a könyvtábla oszlopait a korábbiak szerint:
Az oszlopoknak most a következőnek kell lenniük:
Az oszlop sikeresen megváltozott.
Oszlop alapértelmezett értékének beállítása
Step 1) Jelentkezzen be pgAdmin fiókjába.
Step 2)
- A bal oldali navigációs sávon kattintson az Adatbázisok elemre.
- Kattintson a Demo gombra.
Step 3) Írja be a lekérdezést a lekérdezésszerkesztőbe:
ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';
Step 4) Kattintson a Végrehajtás gombra.
Step 5) A teszteléshez futtassa a következő parancsot a lekérdezésszerkesztőben:
INSERT INTO Book (id, name) VALUES (6, 'PostgreSQL for Beginners')
Step 6) Most lekérdezhetjük a táblázatot, hogy ellenőrizzük, hogy az alapértelmezett érték bekerült-e a book_author oszlopba:
Ellenőrző kényszer hozzáadása
Step 1) Jelentkezzen be pgAdmin fiókjába.
Step 2)
- A bal oldali navigációs sávon kattintson az Adatbázisok elemre.
- Kattintson a Demo gombra.
Step 3) Írja be a lekérdezést a lekérdezésszerkesztőbe:
ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'))
Step 4) Kattintson a Végrehajtás gombra.
Step 5) Ennek teszteléséhez írja be a következő lekérdezést a lekérdezésszerkesztőbe, és kattintson a Végrehajtás gombra:
INSERT INTO Book VALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
A következőt adja vissza:
Táblázat átnevezése
Step 1) Jelentkezzen be pgAdmin fiókjába.
Step 2)
- A bal oldali navigációs sávon kattintson az Adatbázisok elemre.
- Kattintson a Demo gombra.
Step 3) Írja be a lekérdezést a lekérdezésszerkesztőbe:
ALTER TABLE Book RENAME TO Books;
Step 4) Kattintson a Végrehajtás gombra.
Step 5) A tábla átnevezésének ellenőrzéséhez bontsa ki az Adatbázisok > Demo > Sémák > Nyilvános > Táblák menüpontot:
A táblázat átnevezése sikeresen megtörtént.
Töltse le az oktatóanyagban használt adatbázist

























