CREATE TABLE – tworzenie tabel w SQL – Kurs SQL
Jednym z etapów tworzenia bazy danych jest utworzenie tabel. Służy do tego polecenie CREATE TABLE, którego składnia jest następująca:
CREATE TABLE nazwa_tabeli(nazwa_kolumny typ_danych parametry, ...);
gdzie poszczególne parametry oznaczją:
nazwa_tabeli– to oczywiście nazwa tabeli, którą będziemy tworzyć w bazie danychnazwa_kolumny– nazwa kolumny w utworzonej tabelityp_danych– typ danych przechowywanych w kolumnie (poniżej najczęściej stosowane)INT/INTEGER– liczby całkowiteBIGINT– duże liczby całkowiteFLOAT(x,y)/DOUBLE(x,y)/DECIMAL(x,y)/REAL(x,y)– liczby zmiennoprzecinkowe, przechowywane w postaci zależnej od parametrówx– łączna ilość cyfr w polu iy– ilość cyfr za przecinkiemDATE– data w formacieYYYY-MM-DDTIME– czas w formacie:HH:MM:SSDATETIME– data i czas w formacie:YYYY-MM-DD HH:M:SSTIMESTAMP(x)– data i czas w formacie zależnym od parametru x, zakres:YY–YYYYMMDDHHMSSCHAR/CHAR(x)– pole tekstowe o długości określonej przezx, w przypadku braku parametru długość pola wynosi 1VARCHAR/TEXT– pole tekstowe
TINYINT– bardzo małe liczby całkowiteBLOB– przechowuje dane binarne
parametry– parametry kolumnyNOT NULL– wartość tego pola nie może być pustaNULL– wartość może być null’em – ustawienie domyślneAUTO_INCREMENT– pole jest numerowane automatycznieUNSIGNED– wartość nieujemnaDEFAULT– wartość domyśłna dla polaPRIMARY KEY– klucz podstawowy tabeli, unikalne wartości
FOREIGN KEY (kolumna1) REFERENCES tabela2(kolumna2)– klucz obcy tabeli. Wartości zapisywane w tym polu –kolumna1wtabeli1muszą mieć swoje odpowiedniki wtabeli2->kolumna2
Spójrzmy na prosty przykład utworzenia tabeli pracownicy zawierającej pola o następujących właściwościach:
id:- pole liczbowe ->
INT - klucz główny tabeli ->
PRIMARY KEY - unikalne id – pole o parametrze:
PRIMARY KEYdomyślnie jest unikalne, nie musimy nic dodawać - pole nie może być puste – pole o parametrze:
PRIMARY KEYdomyślnie nie może być puste
- pole liczbowe ->
imie:- pole tekstowe o długości 25 znaków ->
CHAR(25) - pole nie może być puste ->
NOT NULL
- pole tekstowe o długości 25 znaków ->
nazwisko:- pole tekstowe o długości 50 znaków ->
CHAR(50) - pole nie może być puste ->
NOT NULL
- pole tekstowe o długości 50 znaków ->
pesel:- pole tekstowe o długości 11 znaków ->
CHAR(11) - pole może być puste, jest to domyślne ustawienie, zatem nic nie musimy dodawać
- pole tekstowe o długości 11 znaków ->
data_zatrudnienia:- format pola data ->
date - pole obowiązkowe ->
NOT NULL
- format pola data ->
aktywny:- pole przyjmuje wartości
0 lub 1->TINYINT - domyślnie pracownik aktywny ->
DEFAULT 1
- pole przyjmuje wartości
stawka_godzinowa:- wartość zmiennoprzecinkowa, do dwóch miejsc po przecinku, maksymalna dopuszczalna wartość 999,99 ->
FLOAT(5,2) - wartość nie może być ujemna ->
UNSIGNED - pole musi zostać uzupełnione ->
NOT NULL
- wartość zmiennoprzecinkowa, do dwóch miejsc po przecinku, maksymalna dopuszczalna wartość 999,99 ->
Spójrzmy teraz na przykład gotowego zapytania SQL:
CREATE TABLE `pracownicy` ( `id` INT AUTO_INCREMENT PRIMARY KEY, `imie` CHAR(25) NOT NULL, `nazwisko` CHAR(50) NOT NULL, `pesel` CHAR(11), `data_zatrudnienia` DATE NOT NULL, `aktywny` TINYINT NOT NULL DEFAULT 1, `stawka_godzinowa` FLOAT(3,2) UNSIGNED NOT NULL )
Więcej przykładów tworzenia tabel w języku SQL znajdziesz we wpisie: CREATE TABLE – przykłady tworzenia tabel dostępnym już niedługo.