Dokumentacja Kursy i specyfikacje
Kurs języka SQL
Tabele zawierają pola, które określają jakie dane będzie zawierał pojedynczy rekord (inaczej: wiersz). Jeśli chcesz utworzyć tabelę przechowującą dane o pracownikach trafią do niej pola typu imię, nazwisko, data_urodzenia, płaca. Jeden z rekordów będzie wyglądał następująco: 'Jan', 'Kowalski', '2002-07-20', '1200.00'. Już na pierwszy rzut oka widać, że podane dane są różnego typu. imię i nazwisko to dane tekstowe, data_urodzenia to pole zawierające w sobie datę, płaca reprezentuje dane liczbowe.
Do utworzenia tabeli służy polecenie SQL CREATE TABLE:
CREATE TABLE nazwa_tabeli struktura_tabeli;
Każda tabela powinna posiadać swoją nazwę. Definiujesz ją w miejscu nazwa_tabeli. W miejsce struktura_tabeli wstawiasz dokładną specyfikację poszczególnych pól, jakie powinna zawierać tabela. Polecenie SQL dla przykładu podanego wyżej będzie wyglądać następująco:
CREATE TABLE pracownicy (
imie VARCHAR(30),
nazwisko VARCHAR(30),
data_urodzenia DATE,
placa DECIMAL(10,2)
);
Powyższe polecenie utworzy tabelę pracownicy o następującej strukturze:
+----------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------+---------------+------+-----+---------+-------+
| imie | varchar(30) | YES | | NULL | |
| nazwisko | varchar(30) | YES | | NULL | |
| data_urodzenia | date | YES | | NULL | |
| placa | decimal(10,2) | YES | | NULL | |
+----------------+---------------+------+-----+---------+-------+
Po każdej nazwie pola następuje definicja typu danych, jakie będzie ono zawierało. Spis wszystkich możliwych do użycia w MySQL typów danych znajduje się w osobnym artykule.
Istnieje możliwość określenia wartości standardowej, jakie przyjmie każde nowe pole w momencie, kiedy nie zostanie wypełnione innymi danymi. Wartości standardowe podaje się dla każdego pola po słowie kluczowym DEFAULT zaraz po definicji typu. Polecenie tworzące tę samą tabelę jednak z definicją wartości standardowych dla niektórych pól (data_urodzenia => '1950-01-01' i placa => '1000.00') będzie wyglądać następująco:
CREATE TABLE pracownicy (
imie VARCHAR(30),
nazwisko VARCHAR(30),
data_urodzenia DATE DEFAULT '1950-01-01',
placa DECIMAL(10,2) DEFAULT '1000.00'
);
Tabela pracownicy będzie wówczas wyglądać:
+----------------+---------------+------+-----+------------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------+---------------+------+-----+------------+-------+
| imie | varchar(30) | YES | | NULL | |
| nazwisko | varchar(30) | YES | | NULL | |
| data_urodzenia | date | YES | | 1950-01-01 | |
| placa | decimal(10,2) | YES | | 1000.00 | |
+----------------+---------------+------+-----+------------+-------+