TLDR
- NOT NULL – Wymusza aby wartość nie była NULL
- UNIQUE – Wymusza aby wartkość była unikalna
- PRIMARY KEY – Klucz główny, unikalnie identyfikuje rekord w tabeli
- FOREIGN KEY – Klucz obcy, identyfikuje rekord w tabeli
- DEFAULT – Ustawia wartość domyślną dla danych
- AUTO_INCREMENT – Automatycznie przydziela nowym rekordom wartość poprzedniego+1
- CHECK – Wymusza aby dodawane dane spełniały podany warunek
NOT NULL
Wymusza aby wartość nie była NULL
Przykład:
CREATE TABLE przyklad( id INT NOT NULL, wiek INT ); ALTER TABLE przyklad MODIFY COLUMN wiek INT NOT NULL;
UNIQUE
Wymusza aby wartkość była unikalna, nie jest wymagane jeśli używasz PRIMARY KEY na kolumnie.
Przykład:
CREATE TABLE przyklad( id INT UNIQUE, numer_bagazu INT ); ALTER TABLE przyklad MODIFY COLUMN numer_bagazu INT UNIQUE;
PRIMARY KEY
Klucz główny, unikalnie identyfikuje rekord w tabeli. Kolumny użyte w PRIMARY KEY muszą mieć nadane ograniczenie NOT NULL.
Przykład:
CREATE TABLE przyklad( id INT NOT NULL, numer_bagazu INT, PRIMARY KEY (id) ); CREATE TABLE przyklad2( id INT NOT NULL, nick VARCHAR(40) NOT NULL, numer_bagazu INT, CONSTRAINT PK_id_nick PRIMARY KEY (ID,nick) ); -- Dodaj klucz główny ALTER TABLE przyklad ADD PRIMARY KEY (id); -- Dodaj klucz główny z nazwą ALTER TABLE przyklad ADD CONSTRAINT PK_id_nick PRIMARY KEY (id,nick); -- Usuń klucz główny ALTER TABLE przyklad DROP PRIMARY KEY;
FOREIGN KEY
Klucz obcy, identyfikuje rekord w tabeli.
Przykład:
CREATE TABLE temp( id int NOT NULL, PRIMARY KEY (id_temp) ); CREATE TABLE przyklad( id INT UNIQUE, numer_bagazu INT, id_temp INT, id_temp2 INT, PRIMARY KEY (id), FOREIGN KEY (id_temp) REFERENCES temp(id), CONSTRAINT FK_temp2 FOREIGN KEY (id_temp2) REFERENCES temp(id), ); -- Dodaj klucz obcy odwołujący się do tabeli temp ALTER TABLE przyklad ADD FOREIGN KEY (id_temp) REFERENCES temp(id); -- Dodaj klucz obcy z nazwą ALTER TABLE przyklad ADD CONSTRAINT FK_temp2 FOREIGN KEY (id_temp2) REFERENCES temp(id);
DEFAULT
Ustala wartość domyślną dla danych, która zostanie użyta, jeśli kolumna zostanie pominięta podczas wprowadzania danych.
Przykład:
CREATE TABLE przyklad( id INT NOT NULL, profil_klasy varchar(255) DEFAULT 'Mat-Inf', data_utworzenia date DEFAULT CURRENT_DATE(), wiek INT, ); -- Zmień typ danych aby miał wartość domyślną ALTER TABLE przyklad MODIFY COLUMN wiek INT DEFAULT 18; -- Dodaj wartość domyślna bezpośrednio ALTER TABLE przyklad ALTER wiek SET DEFAULT 18; -- Zmień typ danych aby usunąć wartość domyślną ALTER TABLE przyklad MODIFY COLUMN wiek INT; -- Usuń wartość domyślna bezpośrednio ALTER TABLE przyklad ALTER wiek DROP DEFAULT;
AUTO_INCREMENT
Automatycznie zwiększa nowe rekordy o 1, jeśli nie podano danych przy wstawianiu.
Przykład:
CREATE TABLE przyklad( id INT AUTO_INCREMENT, numer_bagazu INT ); ALTER TABLE przyklad MODIFY COLUMN numer_bagazu INT AUTO_INCREMENT;
Pierwszą wartością domyślnie jest 1, aby to zmienić można użyć:
ALTER TABLE przyklad AUTO_INCREMENT=100;
CHECK
Wymusza aby dodawane dane spełniały podany warunek
Przykład:
CREATE TABLE przyklad( id INT UNIQUE, wiek INT, jest_studentem BOOLEAN, CHECK (wiek>=18) ); -- Dodaj warunek ALTER TABLE przyklad ADD CHECK (wiek>=18); -- Dodaj warunek z nazwą ALTER TABLE przyklad ADD CONSTRAINT CHK_wiek_profil CHECK (wiek>=18 AND jest_studentem=TRUE); -- Usuń warunek z nazwą ALTER TABLE przyklad DROP CHECK CHK_wiek_profil;
Dodaj komentarz