- Bevezetés
- előfeltételek
- nyissa meg a psql parancssori felületet
- PostgreSQL not null
- hozzon létre egy adatbázist a PostgreSQL-ben
- hozzon létre egy PostgreSQL táblát
- az Adattípus használatával adja hozzá a Not NULL korlátozást
- a PostgreSQL használata, ahol nem null
- a where használata nem null A PostgreSQL-ben
- a frissítés használata, ahol nem null
- a delete where not null
- következtetés
Bevezetés
amikor táblát hoz létre a PostgreSQL-ben, bizonyos korlátozásokat adhat hozzá az oszlopokhoz. Az SQL-ben a korlátozások olyan speciális szabályok, amelyek korlátozzák az adott oszlopban tárolható adatok típusát. A kényszer egyik típusa a Not NULL kényszer, amely azt diktálja, hogy egy adott oszlop nem tartalmazhat null értékeket. Ebben a cikkben közelebbről megvizsgáljuk a PostgreSQL NOT NULL korlátozást, és áttekintünk néhány példát a korlátozás használatára.
előfeltételek
mielőtt megpróbálná követni ezt az oktatóanyagot, meg kell győződnie arról, hogy ezek a fontos előfeltételek a helyükön vannak:
-
győződjön meg arról, hogy a PostgreSQL telepítve van, és dolgozik az eszközön. A
psql -V
parancs megjeleníti a PostgreSQL gépre telepített verzióját. -
szüksége lesz az adatbázis-kezelő rendszerek és az SQL parancsok alapvető ismereteire a PostgreSQL-ben.
nyissa meg a psql parancssori felületet
a parancsok végrehajtásához meg kell nyitnunk a psql
parancssori felületet.
a psql
parancssori konzolhoz való csatlakozáshoz két lépés szükséges.
az első parancs megadja a bejelentkezési jogosultságokat postgres superuserként a jelszó megadása után:
1
|
sudo su-postgres
|
miután megadtuk a superuser jelszót, elindíthatjuk a Postgres interaktív terminálját:
1
|
psql
|
Miután csatlakozott a psql felülethez, elkezdheti a lekérdezések és parancsok végrehajtását a PostgreSQL-ben.
PostgreSQL not null
alapértelmezés szerint egy adatrekord null értékeket tartalmazhat a PostgreSQL-ben. A NOT NULL kényszer használata kikényszeríti, hogy a mezőnek null értéktől eltérő értéket kell tartalmaznia. Ha ez a korlátozás érvényben van, nem szúrhat be vagy frissíthet rekordot anélkül, hogy hozzáadna egy értéket a kérdéses mezőhöz.
hozzon létre egy adatbázist a PostgreSQL-ben
hozzunk létre egy adatbázist, amelyen kipróbálhatjuk a Nem NULL kényszert. Győződjön meg arról, hogy a választott új adatbázisnév egyedi; különben a PostgreSQL hibát ad vissza.
új adatbázis létrehozásához a következő szintaxist használjuk:
1
|
postgres= # adatbázis létrehozása db_name;
|
a db_name
nevet fogjuk használni az adatbázisunkban,de bármilyen nevet megadhat.
az adatbázishoz való csatlakozáshoz írja be a \c
parancsot, majd az adatbázis nevét. Értesítést kap arról, hogy most csatlakozik az adatbázishoz “db_name” mint felhasználó “postgres”.
hozzon létre egy PostgreSQL táblát
táblázat létrehozásához ezt az alapvető szintaxist használjuk:
1
2 |
Táblázat létrehozása TABLE_NAME (oszlop neve +
adattípus + COLUMN_CONSTRAINT); |
figyelje meg, hogy az adattípus az oszlop neve után kerül elhelyezésre, amelyet a kényszer követ, ha van ilyen.
az Adattípus használatával adja hozzá a Not NULL korlátozást
a megszorítások a táblában tárolt adatok típusára vonatkozó szabályok meghatározására szolgálnak. Segítenek korlátozni a táblázat egy mezőjéhez hozzáadható adatokat. Ha olyan adatot ad meg, amely megsérti a korlátozást, hibaüzenetet kap a PostgreSQL-től.
1
2 3 |
db_name = # Táblázat létrehozása bérszámfejtés (employee_id INT
elsődleges kulcs nem nulla, név VARCHAR(30), wage_rate INTEGER, fizetés valós); |
a PostgreSQL használata, ahol nem null
a Postgres-ben, a Not NULL kényszer soha nem fogad el null értékeket. A null
adatoknak nincs konkrét neve– ez nem egyenértékű nulla értékkel vagy akár üres karakterlánccal. Elméleti adatbázis szempontjából ismeretlen információkat képvisel.
a where használata nem null A PostgreSQL-ben
nézzünk meg egy példát, ahol a NOT NULL
fogalmát alkalmazhatjuk egy SELECT
utasításban:
1
|
db_name= # SELECT * a bérszámfejtésből, ahol az employee_id értéke nem NULL;
|
ez a lekérdezés minden olyan rekordot visszaad, ahol a employee_id
értéke nem null. Mivel a employee_id
Nem null korlátozással rendelkezik, az eredmények a következőképpen fognak kinézni:
1
2 3 4 5 6 7 8 9 |
alkalmazott_id / név / bér_ráta / fizetés
————-+——–+———–+——– 1 | hector | 400 | 10000 2 | justine| 400 | 10000 3 | sofia | 450 | 15000 4 | ivy | 400 | 10000 5 | henry | 500 | 25000 6 | myler | 500 | 25000 (6 sor) |
ha a SELECT
utasításunkat a NULL
feltétel használatára váltjuk, az eredményeink így néznének ki:
1
2 3 4 |
db_name= # SELECT * a bérszámfejtésből, ahol a bérszámfejtés értéke NULL;
employee_id / név | bérszámfejtés | fizetés ————-+——+———–+——– (0 sorok) |
mint korábban említettük, a employee_id
mező nem NULL korlátozással rendelkezik, így egyetlen rekord sem felel meg a lekérdezésben megadott NULL
feltételnek.
a frissítés használata, ahol nem null
a PostgreSQL-ben a Not NULL feltételt is használhatjuk egy UPDATE
utasításban.
Íme egy példa:
1
2 |
db_name= # bérszámfejtés frissítése SET name = ‘Justine’ ahol
employee_id értéke nem NULL; |
a fenti példában azt látjuk, hogy a PostgreSQL NOT NULL
feltétel frissíti a payroll nevű táblázatot. Módosítja a name
oszlopot, hogy ‘Justine’ értéket kapjon minden olyan rekordnál, ahol a employee_id
nem tartalmaz null értéket.
a delete where not null
használatával NOT NULL
feltételt is alkalmazhatunk DELETE
utasításra a következő szintaxis használatával:
1
|
db_name= # Törlés a bérszámfejtésből, ahol a név NEM NULL;
|
ez a szintaxis DELETE
a bérszámfejtési tábla összes rekordját tartalmazza, ahol a névnek nincs null értéke.
ellenőrizzük, hogy a rekordokat sikeresen törölték-e egy SELECT *
utasítás végrehajtásával:
1
|
válasszon * – tól TABLE_NAME;
|
következtetés
ha bizonyos szabályokat szeretne érvényesíteni a PostgreSQL táblákban tárolt adatokkal kapcsolatban, a korlátozások a legjobb módja a munka elvégzésének. Ebben a cikkben a PostgreSQL NOT NULL korlátozásra összpontosítottuk figyelmünket, és számos példát vizsgáltunk arra, hogyan kell használni a NOT NULL
feltételt különböző adatbázis-műveletekben. Ezekkel a példákkal, hogy végigvezeti Önt, akkor képes lesz arra, hogy használja a NOT NULL
kényszer a saját PostgreSQL adatbázisban.