Postgresql nu null constrângere

Introducere

când creați un tabel în PostgreSQL, aveți posibilitatea de a adăuga anumite constrângeri pe coloane. În SQL, constrângerile sunt reguli speciale care limitează tipul de date care pot fi stocate într-o coloană dată. Un tip de constrângere este constrângerea NOT NULL, care dictează că o anumită coloană nu poate conține valori nule. În acest articol, vom arunca o privire mai atentă asupra constrângerii PostgreSQL NOT NULL și vom examina câteva exemple despre modul în care este utilizată constrângerea.

premise

înainte de a încerca să urmați împreună cu acest tutorial, va trebui să vă asigurați că aceste premise importante sunt în vigoare:

  • asigurați-vă că PostgreSQL este instalat și funcționează pe dispozitivul dvs. Comanda psql -V va afișa versiunea PostgreSQL instalată pe computerul dvs.

  • veți avea nevoie de cunoștințe de bază despre sistemele de gestionare a bazelor de date și comenzile SQL în PostgreSQL.

deschideți interfața de linie de comandă psql

pentru a executa comenzi, va trebui să deschidem interfața de linie de comandă psql.

există doi pași necesari pentru a vă conecta la consola de linie de comandă psql.

prima comandă vă va acorda privilegii de conectare ca postgres superuser după ce introduceți parola:

1
sudo su-postgres

după ce introducem parola superuser, putem porni terminalul interactiv pentru Postgres:

1
psql

odată ce sunteți conectat la interfața psql, puteți începe să executați interogări și comenzi în PostgreSQL.

PostgreSQL not null

în mod implicit, o înregistrare de date poate conține valori nule în PostgreSQL. Utilizarea constrângerii NOT NULL impune ca câmpul să conțină o altă valoare decât o valoare nulă. Cu această constrângere în vigoare, nu puteți insera sau actualiza o înregistrare fără a adăuga o valoare pentru câmpul în cauză.

creați o bază de date în PostgreSQL

să creăm o bază de date pe care să putem testa constrângerea nu nulă. Asigurați-vă că noul nume de bază de date pe care îl alegeți este unic; în caz contrar, PostgreSQL va returna o eroare.

pentru a crea o nouă bază de date, vom folosi următoarea sintaxă:

1
postgres= # crearea bazei de date db_name;

vom folosi numele db_name pentru Baza noastră de date, dar puteți furniza orice nume doriți.

pentru a vă conecta la baza de date, introduceți \c urmat de numele bazei de date. Veți fi notificat că acum sunteți conectat la baza de date ” db_name „ca utilizator”postgres”.

creați un tabel PostgreSQL

pentru a crea un tabel, folosim această sintaxă de bază:

1
2
creați TABLE TABLE_NAME( Nume coloană +
tip de date + COLUMN_CONSTRAINT);

observați că tipul de date este plasat după numele coloanei și este urmat de constrângere, dacă se utilizează una.

Utilizați tipul de date pentru a adăuga constrângerea NOT NULL

constrângerile sunt utilizate pentru a defini regulile despre ce tip de date sunt stocate într-un tabel. Acestea ajută la limitarea datelor care pot fi adăugate la un câmp dintr-un tabel. Dacă sunt introduse date care încalcă constrângerea, veți primi o solicitare de eroare de la PostgreSQL.

1
2
3
db_name= # Creare tabel salarizare (employee_id int
cheie primară nu NULL, nume VARCHAR(30),
wage_rate întreg, salariu REAL);

folosind PostgreSQL unde nu este null

în Postgres, constrângerea NOT NULL nu va accepta niciodată valori null. Nu există un nume specific pentru datele null – nu este echivalent cu o valoare zero sau chiar cu un șir gol. În termeni teoretici ai bazei de date, reprezintă informații necunoscute.

selectarea folosind unde nu este null în PostgreSQL

să ne uităm la un exemplu în care putem aplica conceptul de NOT NULL într-o SELECT declarație:

1
db_name= # SELECT * din salarizare unde employee_id nu este NULL;

această interogare va returna toate înregistrările în care valoarea employee_id nu este nulă. Deoarece employee_id are o constrângere nu nulă, rezultatele vor arăta astfel:

1
2
3
4
5
6
7
8
9
employee_id / name | wage_rate | salariu
————-+——–+———–+——–
1 | hector / 400 | 10000
2 | justine| 400 | 10000
3 | sofia | 450 | 15000
4 | iederă | 400 | 10000
5 | henry / 500 / 25000
6 | myler | 500 / 25000
( 6 rânduri)

dacă schimbăm declarația SELECT pentru a utiliza condiția NULL, rezultatele noastre ar arăta astfel:

1
2
3
4
db_name = # SELECT * din salarizare unde wage_rate este NULL;
employee_id | name / wage_rate | salariu
————-+——+———–+——–
(0 rânduri)

așa cum am menționat mai devreme, câmpul employee_id are o constrângere NOT NULL, deci nicio înregistrare nu se potrivește cu condiția NULL specificată în această interogare.

folosind actualizarea where not null

în PostgreSQL, putem folosi și condiția NOT NULL într-o instrucțiune UPDATE.

Iată un exemplu:

1
2
db_name = # UPDATE payroll SET name = ‘Justine’ unde
employee_id nu este NULL;

în exemplul de mai sus, vedem că condiția PostgreSQL NOT NULL va actualiza tabelul numit salarizare. Se va modifica coloana name pentru a avea o valoare de ‘Justine’ pentru orice înregistrări în cazul în care employee_id nu conține o valoare nulă.

folosind delete where not null

putem aplica, de asemenea, o condiție NOT NULL la o declarație DELETE folosind următoarea sintaxă:

1
db_name= # DELETE din salarizare unde numele nu este NULL;

această sintaxă va DELETE toate înregistrările din tabelul de salarizare în cazul în care numele nu are o valoare nulă.

să verificăm dacă înregistrările au fost șterse cu succes executând o declarație SELECT * :

1
selectați * din NUME_TABEL;

concluzie

când doriți să aplicați anumite reguli cu privire la datele stocate în tabelele PostgreSQL, constrângerile sunt cea mai bună modalitate de a face treaba. În acest articol, ne-am concentrat atenția asupra constrângerii PostgreSQL NOT NULL și am analizat câteva exemple de utilizare a condiției NOT NULL într-o varietate de operațiuni de baze de date. Cu aceste exemple pentru a vă ghida, veți putea folosi constrângerea NOT NULL în propria bază de date PostgreSQL.

Lasă un răspuns

Adresa ta de email nu va fi publicată.