PostgreSQL ALTER Table: Oszlop HOZZÁADÁSA, Oszlop átnevezése/Táblázatpéldák

Az ALTER TABLE paranccsal módosítható az a PostgreSQL asztal. Ez a parancs a táblázat oszlopainak vagy a tábla nevének megváltoztatására szolgál.

Szintaxis

Itt van a szintaxis a PostgreSQL ALTER TABLE parancs:

ALTER TABLE table-name action;

A táblázatnév paraméter annak a táblának a neve, amelyet módosítani kell.

A műveleti paraméter az a művelet, amelyet végre kell hajtania, például egy oszlop nevének módosítása, egy oszlop adattípusának módosítása stb.

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 a CREATE TABLE parancshoz hasonló szintaxist használ új oszlop hozzáadásához a táblához.
  • DROP OSZLOP: táblázatoszlop eldobásához. Az oszlopokra vonatkozó megszorítások és indexek szintén el lesznek vetve.
  • ALAPÉRTELMEZÉS BEÁLLÍTÁSA/DROP: Egy oszlop alapértelmezett értékének eltávolítására használható. A változás azonban csak a későbbiekre vonatkozik INSERT utasítások.
  • SET/DROP NOT NULL: Megváltoztatja, hogy egy oszlop engedélyezi-e a nullákat vagy sem.
  • STATISZTIKA BEÁLLÍTÁSA: A statisztikagyűjtési cél beállításához az egyes oszlopokhoz az ANALYZE műveletekhez.
  • TÁROLÁS BEÁLLÍTÁSA: Egy oszlop tárolási módjának beállításához. Ez határozza meg, hogy hol található az oszlop, akár soron belül, akár egy kiegészítő táblázatban.
  • OIID NÉLKÜLI BEÁLLÍTÁS: A táblázat régi oszlopának eltávolítására használható.
  • ÁTNEVEZÉS: a tábla vagy oszlopnév megváltoztatásához.
  • ADD table_constraint: Új megszorítás táblához való hozzáadásához használja. Ugyanazt a szintaxist használja, mint TÁBLÁZAT LÉTREHOZÁSA parancs.
  • CSEPP KORLÁTOZÁS: Táblázatkényszer eldobására használható.
  • TULAJDONOS: egy tábla, sorozat, index vagy nézet tulajdonosának megváltoztatásához egy adott felhasználóra.
  • CSOPORT: a jövőbeni klaszterműveletek végrehajtásához használandó táblázat megjelölésére.

Oszlop módosítása

Egy oszlop többféleképpen módosítható. Az ilyen módosításokat az ALTER TABLE paranccsal lehet elvégezni. Beszéljük meg ezeket:

Ú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áblanév a módosítandó tábla neve.

A new-column-name a hozzáadandó új oszlop neve.

Az oszlop-definíció a adattípus az új oszlopból.

Lásd az alábbi könyvtáblázatot:

Új oszlop hozzáadása PostgreSQL

A táblázatnak két oszlopa van, az azonosító és a név. Új oszlopot kell hozzáadnunk a táblázathoz, és meg kell adnunk a szerző nevét. Csak futtassa 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ő:

Új oszlop hozzáadása PostgreSQL

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 táblanév annak a táblának a neve, amelynek oszlopát át kell nevezni.

A régi név az oszlop régi/jelenlegi neve.

Az új név az oszlop új neve. Tekintsük az alábbi táblázatos könyvet:

Könyv:

Táblázat oszlopának átnevezése PostgreSQL

Az oszlop szerzőjének nevére van szükségünk a book_author értékhez. Í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:

Táblázat oszlopának átnevezése PostgreSQL

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, hogy még ha nem is ad meg értéket az oszlophoz az INSERT műveletek során, a rendszer az alapértelmezett értéket fogja használni. 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 táblanév annak a táblának a neve, amelynek oszlopát módosítani kell.

Az oszlopnév az a név, amelynek alapértelmezett értékét be kell állítani.

Az érték az oszlop alapértelmezett értéke.

Tekintsük az alábbi könyvtáblázatot:

Oszlop alapértelmezett értékének beállítása

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');

Vegye figyelembe, hogy csak két oszlophoz, az id és a névhez szúrtunk be értékeket. A book_author oszlophoz azonban az alapértelmezett értéket használták:

Oszlop alapértelmezett értékének beállítása

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 táblanév a módosítandó tábla neve.

A kifejezés a táblázat oszlopára szabandó kényszer.

Módosítsuk a Könyv 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:

Ellenőrző kényszer hozzáadása

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 táblanév a tábla aktuális neve.

Az új táblanév a táblához rendelendő új név.

Változtassuk meg például a Könyv táblázat nevét Könyvekre:

ALTER TABLE Book
  RENAME TO Books;

pgAdmin használatával

Most nézzük meg, hogyan hajthatók végre ezek a műveletek a pgAdmin segítségével.

Új oszlop hozzáadása

Ha ugyanezt a pgAdminon keresztül szeretné elérni, tegye a következőket:

Step 1) Jelentkezzen be pgAdmin fiókjába.

Step 2)

  1. A bal oldali navigációs sávban kattintson az Adatbázisok elemre.
  2. Kattintson a Demo gombra.

Új oszlop hozzáadása a pgAdmin használatával

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.

Új oszlop hozzáadása a pgAdmin használatával

Step 5) Az oszlop hozzáadásának ellenőrzéséhez tegye a következőket:

  1. Kattintson a bal oldali navigációs panelen az Adatbázisok elemre.
  2. Bontsa ki a Demo elemet.
  3. Bontsa ki a Sémákat.
  4. Bontsa ki a Nyilvános elemet.
  5. Bontsa ki a táblázatokat.
  6. Könyv kibontása.
  7. Bontsa ki az Oszlopok elemet.

Új oszlop hozzáadása a pgAdmin használatával

Az oszlopot az alábbiak szerint kellett volna hozzáadni:

Új oszlop hozzáadása a pgAdmin használatával

Táblázatoszlop átnevezése

Ha ugyanezt a pgAdminon keresztül szeretné elérni, tegye a következőket:

Step 1) Jelentkezzen be pgAdmin fiókjába.

Step 2)

  1. A bal oldali navigációs sávban kattintson az Adatbázisok elemre.
  2. Kattintson a Demo gombra.

Táblázatoszlop átnevezése a pgAdmin segítségével

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.

Táblázatoszlop átnevezése a pgAdmin segítségével

Step 5) A módosítás sikerességének ellenőrzéséhez tegye a következőket:

  1. Kattintson a bal oldali navigációs panelen az Adatbázisok elemre.
  2. Bontsa ki a Demo elemet.
  3. Bontsa ki a Sémákat.
  4. Bontsa ki a Nyilvános elemet.
  5. Bontsa ki a táblázatokat.
  6. Könyv kibontása.
  7. Bontsa ki az Oszlopok elemet.

Táblázatoszlop átnevezése a pgAdmin segítségével

Az oszlopoknak most a következőnek kell lenniük:

Táblázatoszlop átnevezése a pgAdmin segítségével

Az oszlop sikeresen megváltozott.

Oszlop alapértelmezett értékének beállítása

Ha ugyanezt a pgAdminon keresztül szeretné elérni, tegye a következőket:

Step 1) Jelentkezzen be pgAdmin fiókjába.

Step 2)

  1. A bal oldali navigációs sávban kattintson az Adatbázisok elemre.
  2. Kattintson a Demo gombra.

Oszlop alapértelmezett értékének beállítása

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.

Oszlop alapértelmezett értékének beállítása

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:

Oszlop alapértelmezett értékének beállítása

Ellenőrző kényszer hozzáadása

Ha ugyanezt a pgAdminon keresztül szeretné elérni, tegye a következőket:

Step 1) Jelentkezzen be pgAdmin fiókjába.

Step 2)

  1. A bal oldali navigációs sávban kattintson az Adatbázisok elemre.
  2. Kattintson a Demo gombra.

Ellenőrző kényszer hozzáadása a pgAdmin segítségével

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.

Ellenőrző kényszer hozzáadása a pgAdmin segítségével

Step 5) Ennek teszteléséhez tegye a következőket:

  1. Írja be a következő lekérdezést a lekérdezésszerkesztőbe:
    INSERT INTO Book
    VALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
    
  2. Kattintson a Végrehajtás gombra.

    Ellenőrző kényszer hozzáadása a pgAdmin segítségével

    A következőt adja vissza:

Ellenőrző kényszer hozzáadása a pgAdmin segítségével

Táblázat átnevezése

Ha ugyanezt a pgAdminon keresztül szeretné elérni, tegye a következőket:

Step 1) Jelentkezzen be pgAdmin fiókjába.

Step 2)

  1. A bal oldali navigációs sávban kattintson az Adatbázisok elemre.
  2. Kattintson a Demo gombra.

Táblázat átnevezése a pgAdmin segítségével

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.

Táblázat átnevezése a pgAdmin segítségével

Step 5) A táblázat átnevezésének ellenőrzéséhez tegye a következőket:

  1. Kattintson a bal oldali navigációs panelen az Adatbázisok elemre.
  2. Bontsa ki a Demo elemet.
  3. Bontsa ki a Sémákat.
  4. Bontsa ki a Nyilvános elemet.
  5. Bontsa ki a táblázatokat.

Táblázat átnevezése a pgAdmin segítségével

A táblázat átnevezése sikeresen megtörtént.

Összegzésként

  • Az ALTER TABLE utasítás a tábla szerkezetének módosítására szolgál.
  • Az ALTER TABLE parancs különféle formákat ölt az elvégzendő feladattól függően.
  • A szerkezet lehet a táblázat oszlopai vagy maga a táblázat.
  • Ezzel az utasítással megváltoztathatjuk egy tábla nevét.
  • Az ALTER TABLE paranccsal beállítható egy oszlop alapértelmezett értéke.
  • Az utasítás használható a táblázat oszlopába beírt értékek érvényesítésére.

Töltse le az oktatóanyagban használt adatbázist