Az ALTER TABLE paranccsal módosíthatjuk a PostgreSQL tábla felépítését. Ez a parancs a táblázat oszlopainak vagy a táblázat nevének megváltoztatására szolgál.
Ebben az oktatóanyagban megtudhatja:
- Szintaxis
- Leírás
- Oszlop módosítása
- Új oszlop hozzáadása
- Táblaoszlop átnevezése
- Alapértelmezett érték beállítása egy oszlop számára
- Ellenőrzési kényszer hozzáadása
- Tábla átnevezése
- A pgAdmin használatával
Szintaxis
Itt található a PostgreSQL ALTER TABLE parancs szintaxisa:
ALTER TABLE table-name action;
A table-name paraméter a módosítandó táblázat neve.
A művelet paraméter az a művelet, amelyet végre kell hajtania, például egy oszlop nevének megváltoztatásához, egy oszlop adattípusának megváltoztatásához stb.
Leírás
Az ALTER TABLE parancs megváltoztatja a meglévő tábla definícióját. A következő alformákra van szükség:
- OSZLOP hozzáadása: ez hasonló szintaxist használ, mint a CREATE TABLE parancs új oszlop hozzáadásához a táblához.
- DROP COLUMN : a táblázat oszlopának eldobásához. Az oszlopokra vonatkozó korlátozások és indexek szintén elvetésre kerülnek.
- SET / DROP DEFAULT : Az oszlop alapértelmezett értékének eltávolításához használható. A változás azonban csak a későbbi INSERT utasításokra vonatkozik.
- SET / DROP NOT NULL : Megváltoztatja, hogy egy oszlop megengedi-e a nullákat vagy sem.
- STATISZTIKA BEÁLLÍTÁSA: Az egyes oszlopok statisztikai adatgyűjtési céljának beállításához az ELEMZÉS műveletekhez.
- TÁROLÁS BEÁLLÍTÁSA : Az oszlop tárolási módjának beállításához. Ez határozza meg, hogy az oszlop hol helyezkedik el, legyen az inline vagy egy kiegészítő táblázat.
- SZABADÍTÁS NÉLKÜL : Használja a táblázat régi oszlopának eltávolításához.
- RENAME : a táblanév vagy az oszlopnév megváltoztatásához.
- ADD table_constraint : Új korlátozás hozzáadása egy táblához. Ugyanazt a szintaxist használja, mint a CREATE TABLE parancs.
- DROP CONSTRAINT : Táblázat-kényszer eldobására használható.
- TULAJDONOS : egy tábla, sorrend, index vagy nézet tulajdonosának megváltoztatásához egy bizonyos felhasználó számára.
- CLUSTER : egy tábla jelölésére, amelyet a jövőbeni fürtműveletek végrehajtására használnak.
Oszlop módosítása
Az oszlop számos módon módosítható. Az ilyen módosítások elvégezhetők az ALTER TABLE paranccsal. Beszéljük meg ezeket:
Új oszlop hozzáadása
Új oszlop hozzáadásához a PostgreSQL táblához az ALTER TABLE parancsot kell használni a következő szintaxissal:
ALTER TABLE table-nameADD new-column-name column-definition;
A tábla neve a módosítandó tábla neve.
Az új oszlopnév az új hozzáadandó oszlop neve.
Az oszlopdefiníció az új oszlop adattípusa.
Lásd az alább látható könyv táblázatot:
A táblázatnak két oszlopa van, azonosító és név. Hozzá kell adnunk egy új oszlopot a táblához, és meg kell adnunk a szerző nevét. Csak futtassa a következő parancsot:
ALTER TABLE BookADD author VARCHAR(50);
A fenti parancs futtatása után a Könyv táblázat most a következő:
Az új oszlop sikeresen hozzáadva.
Táblaoszlop átnevezése
Az ALTER TABLE paranccsal megváltoztathatjuk az oszlop nevét. Ebben az esetben a parancs a következő szintaxissal használható:
ALTER TABLE table-nameRENAME COLUMN old-name TO new-name;
A tábla neve 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. Vegyük figyelembe az alábbi táblázat táblázatot:
Könyv:
Szükségünk van az oszlopszerző nevére a book_author használatához. Itt van a parancs:
ALTER TABLE BookRENAME COLUMN author TO book_author;
A parancs futtatása után megtekinthetjük a táblázat felépítését:
Az oszlop neve sikeresen megváltozott.
Alapértelmezett érték beállítása egy oszlop számára
Beállíthatunk egy oszlopnak egy alapértelmezett értéket, amely akkor is az alapértelmezett értéket fogja használni, ha az INSERT műveletek során nem ad meg értéket az oszlopnak. 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ábla neve 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.
Vegyük figyelembe az alábbi táblázat táblázatot:
Be kell állítanunk egy alapértelmezett értéket a book_author oszlop számára. A következő parancsot futtathatjuk:
ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';
Most illesszünk be egy sort a táblázatba:
INSERT INTO Book (id, name)VALUES (6, 'PostgreSQL for Beginners');
Vegye figyelembe, hogy csak két oszlopra, az id és a névre írtunk be értékeket. Azonban az alapértelmezett értéket használták a book_author oszlopban:
Ellenőrzési kényszer hozzáadása
Az ellenőrzési korlát segít megerősíteni a táblába beillesztett rekordokat. Ezt úgy tehetjük meg, hogy kombináljuk az ALTER TABLE parancsot az ADD CHECK utasítással. Szintaxis:
ALTER TABLE table-name ADD CHECK expression;
A tábla neve a módosítandó tábla neve.
A kifejezés a táblázat oszlopára alkalmazandó kényszer.
Módosítsuk a Könyv tábla book_author oszlopát úgy, hogy az csak Nicholas és Samuel értékeket fogadja el:
ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'));
Most próbálkozzunk Nicholason vagy Samuelen kívül más értéket is a Book táblázat book_author oszlopába:
INSERT INTO BookVALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
Az utasítás a következő hibát adja vissza:
A beillesztési művelet nem sikerült, mert megsértettük az ellenőrzési korlátozást.
Tábla átnevezése
Itt található az ALTER TABLE parancs szintaxisa a tábla átnevezéséhez:
ALTER TABLE table-nameRENAME TO new-table-name;
A tábla neve a táblázat aktuális neve.
Az új tábla-név az új név, amelyet hozzá kell rendelni a táblához.
Változtassuk meg például a Könyv táblázat nevét Könyvekre:
ALTER TABLE BookRENAME TO Books;
A pgAdmin használatával
Most nézzük meg, hogyan lehet ezeket a műveleteket végrehajtani a pgAdmin használatával.
Új oszlop hozzáadása
Ha ugyanezt szeretné elérni a pgAdmin segítségével, tegye ezt:
1. lépés: Jelentkezzen be pgAdmin-fiókjába.
2. lépés)
- A bal oldali navigációs sávon kattintson az Adatbázisok elemre.
- Kattintson a Demo elemre.
3. lépés: Írja be a lekérdezést a lekérdező szerkesztőbe:
ALTER TABLE BookADD author VARCHAR(50);
4. lépés) Kattintson az Execute gombra.
5. lépés: Az oszlop hozzáadásának ellenőrzéséhez tegye a következőket:
- Kattintson a bal oldali navigációs menü Adatbázisok elemére.
- Bontsa ki a bemutatót.
- Bontsa ki a Sémákat.
- Bontsa ki a Nyilvános lehetőséget.
- Bontsa ki a Táblákat.
- Bontsa ki a könyvet.
- Bontsa ki az Oszlopok elemet.
Az oszlopot hozzá kellett volna adni az alábbiak szerint:
Táblaoszlop átnevezése
Ha ugyanezt szeretné elérni a pgAdmin segítségével, tegye ezt:
1. lépés: Jelentkezzen be pgAdmin-fiókjába.
2. lépés)
- A bal oldali navigációs sávon kattintson az Adatbázisok elemre.
- Kattintson a Demo elemre.
3. lépés: Írja be a lekérdezést a lekérdező szerkesztőbe:
ALTER TABLE BookRENAME COLUMN author TO book_author;
4. lépés) Kattintson az Execute gombra.
5. lépés: Annak ellenőrzéséhez, hogy a változás sikeres-e, tegye a következőket:
- Kattintson a bal oldali navigációs menü Adatbázisok elemére.
- Bontsa ki a bemutatót.
- Bontsa ki a Sémákat.
- Bontsa ki a Nyilvános lehetőséget.
- Bontsa ki a Táblákat.
- Bontsa ki a könyvet.
- Bontsa ki az Oszlopok elemet.
Az oszlopoknak most a következőknek kell lenniük:
Az oszlop sikeresen megváltozott.
Alapértelmezett érték beállítása egy oszlop számára
Ha ugyanezt szeretné elérni a pgAdmin segítségével, tegye ezt:
1. lépés: Jelentkezzen be pgAdmin-fiókjába.
2. lépés)
- A bal oldali navigációs sávon kattintson az Adatbázisok elemre.
- Kattintson a Demo elemre.
3. lépés: Írja be a lekérdezést a lekérdező szerkesztőbe:
ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';
4. lépés) Kattintson az Execute gombra.
5. lépés: A teszteléshez futtassa a következő parancsot a lekérdezésszerkesztőben:
INSERT INTO Book (id, name)VALUES (6, 'PostgreSQL for Beginners')
6. lépés) Most lekérdezhetjük a táblázatot, hogy ellenőrizzük, hogy az alapértelmezett érték beillesztésre került-e a book_author oszlopba:
Ellenőrzési kényszer hozzáadása
Ha ugyanezt szeretné elérni a pgAdmin segítségével, tegye ezt:
1. lépés: Jelentkezzen be pgAdmin-fiókjába.
2. lépés)
- A bal oldali navigációs sávon kattintson az Adatbázisok elemre.
- Kattintson a Demo elemre.
3. lépés: Írja be a lekérdezést a lekérdező szerkesztőbe:
ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'))
4. lépés) Kattintson az Execute gombra.
5. lépés: Ennek teszteléséhez tegye a következőket:
- Írja be a következő lekérdezést a lekérdező szerkesztőbe:
INSERT INTO BookVALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
- Kattintson az Execute gombra.
A következőket adja vissza:
Tábla átnevezése
Ha ugyanezt szeretné elérni a pgAdmin segítségével, tegye ezt:
1. lépés: Jelentkezzen be pgAdmin-fiókjába.
2. lépés)
- A bal oldali navigációs sávon kattintson az Adatbázisok elemre.
- Kattintson a Demo elemre.
3. lépés: Írja be a lekérdezést a lekérdező szerkesztőbe:
ALTER TABLE BookRENAME TO Books;
4. lépés) Kattintson az Execute gombra.
5. lépés: Annak ellenőrzéséhez, hogy a táblát átnevezték-e, tegye a következőket:
- Kattintson a bal oldali navigációs menü Adatbázisok elemére.
- Bontsa ki a bemutatót.
- Bontsa ki a Sémákat.
- Bontsa ki a Nyilvános lehetőséget.
- Bontsa ki a Táblákat.
A táblázat átnevezése sikeres volt.
Összegzés:
- Az ALTER TABLE utasítással módosíthatjuk a táblázat felépítését.
- Az ALTER TABLE parancs különféle formákat ölthet 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 a táblázat nevét.
- Az ALTER TABLE paranccsal megadható az 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