Tworzenie tabel w MySQL – wprowadzenie do CREATE TABLE

1. Wprowadzenie

Tabele są podstawowymi elementami bazy danych MySQL. To w nich przechowujemy dane w postaci wierszy i kolumn. Aby móc pracować z danymi, najpierw musimy utworzyć tabelę za pomocą polecenia CREATE TABLE. W tej lekcji dowiesz się:

  • Jak działa polecenie CREATE TABLE
  • Jak definiować kolumny i ich typy danych
  • Jak ustawiać klucz główny (PRIMARY KEY) i inne ograniczenia
  • Jak stworzyć tabelę w phpMyAdmin

Po tej lekcji będziesz w stanie samodzielnie tworzyć tabele w MySQL i rozumieć ich strukturę.

2. Tworzenie tabeli w MySQL – podstawowa składnia

Aby utworzyć tabelę, używamy następującego polecenia SQL:

CREATE TABLE nazwa_tabeli (
    nazwa_kolumny1 typ_danych opcje,
    nazwa_kolumny2 typ_danych opcje
);

Przykład prostej tabeli:

CREATE TABLE klienci (
    id INT PRIMARY KEY AUTO_INCREMENT,
    imie VARCHAR(50) NOT NULL,
    nazwisko VARCHAR(50) NOT NULL,
    email VARCHAR(100) UNIQUE NOT NULL
);

W powyższym przykładzie:

  • id to klucz główny, który automatycznie zwiększa swoją wartość przy dodawaniu nowych rekordów
  • imie to pole tekstowe o maksymalnej długości 50 znaków, które nie może być puste
  • email to unikalny adres e-mail, który nie może się powtarzać w tabeli

3. Typy danych w MySQL

Podczas tworzenia tabel musimy określić typy danych dla każdej kolumny. Oto podstawowe typy:

Typy liczbowe

  • INT – liczba całkowita
  • DECIMAL(8,2) – liczba zmiennoprzecinkowa, np. 12345.67
  • TINYINT(1) – liczba całkowita, np. 0 lub 1, często używana dla wartości logicznych

Typy znakowe

  • CHAR(10) – tekst o stałej długości, np. kod pocztowy
  • VARCHAR(100) – tekst o zmiennej długości, np. nazwisko, e-mail

Typy daty i czasu

  • DATE – data w formacie YYYY-MM-DD
  • DATETIME – data i czas w formacie YYYY-MM-DD HH:MM:SS
  • TIMESTAMP – czas systemowy, automatycznie uzupełniany

4. Klucz główny i inne ograniczenia

Klucz główny (PRIMARY KEY)
Każda tabela powinna mieć klucz główny, czyli kolumnę (lub kilka kolumn), która jednoznacznie identyfikuje każdy rekord.

CREATE TABLE zamowienia (
    id_zamowienia INT PRIMARY KEY AUTO_INCREMENT,
    id_klienta INT NOT NULL,
    kwota DECIMAL(10,2) NOT NULL
);

NOT NULL
Określa, że dana kolumna nie może pozostawać pusta.

email VARCHAR(100) NOT NULL

UNIQUE
Zapewnia, że wartości w danej kolumnie nie będą się powtarzać.

telefon VARCHAR(15) UNIQUE

FOREIGN KEY (klucz obcy)
Służy do łączenia tabel i tworzenia relacji między nimi.

CREATE TABLE zamowienia (
    id INT PRIMARY KEY AUTO_INCREMENT,
    id_klienta INT,
    FOREIGN KEY (id_klienta) REFERENCES klienci(id)
);

Klucz obcy id_klienta łączy tabelę zamowienia z tabelą klienci.

5. Tworzenie tabeli w phpMyAdmin

Jeśli nie chcesz pisać kodu SQL, możesz utworzyć tabelę graficznie w phpMyAdmin.

  1. Otwórz phpMyAdmin i wybierz bazę danych
  2. Kliknij „Nowa tabela” i wpisz nazwę tabeli, np. produkty
  3. Dodaj kolumny – określ nazwy, typy danych i opcje, np. klucz główny, NOT NULL
  4. Kliknij „Zapisz”, aby utworzyć tabelę

6. Ćwiczenia

Ćwiczenie 1: Tworzenie prostej tabeli klientów
Utwórz tabelę klienci, która zawiera następujące kolumny:

  • id – klucz główny, numer klienta (liczba całkowita, auto numerowanie)
  • imie – imię klienta (lancuch znaków o zmiennej długosci(50), nie puste)
  • nazwisko – nazwisko klienta (lancuch znaków o zmiennej długosci(50), nie puste)
  • email – adres e-mail (lancuch znaków o zmiennej długosci(100), musi być unikalny)
  • data_rejestracji – data rejestracji (data)

Ćwiczenie 2: Tworzenie tabeli zamówień
Stwórz tabelę zamowienia. Tabela powinna zawierać:

  • id_zamowienia – klucz główny (liczba całkowita, auto numerowanie)
  • id_klienta – identyfikator klienta (liczba całkowita)
  • produkt – nazwa produktu (lancuch znaków o zmiennej długosci(100))
  • kwota – kwota zamówienia (typ liczbowy zniennoprzecinkowy o długosci 10 i z 2 miejscami po przecinku)
  • data_zamowienia – data zamówienia (data)

Ćwiczenie 3: Tworzenie tabeli w phpMyAdmin

  1. Otwórz phpMyAdmin i wybierz bazę danych
  2. Stwórz tabelę produkty, która zawiera:
    • id (klucz główny, liczba całkowita, auto numerowanie)
    • nazwa_produktu (lancuch znaków o zmiennej długosci(100), nie puste)
    • cena (DECIMAL(8,2), nie puste)
    • ilosc_w_magazynie (liczba całkowita, nie puste)
  3. Zapisz tabelę

Ćwiczenie 4: Tworzenie tabeli pracownicy
Napisz zapytanie SQL, które stworzy tabelę pracownicy, zawierającą:

  • id_pracownika – klucz główny (liczba całkowita, auto numerowanie)
  • imie (lancuch znaków o zmiennej długosci(50))
  • nazwisko (lancuch znaków o zmiennej długosci(50))
  • stanowisko (lancuch znaków o zmiennej długosci(50))
  • wynagrodzenie (typ liczbowy zniennoprzecinkowy o długosci 10 i z 2 miejscami po przecinku)
  • data_zatrudnienia (DATE)

7. Podsumowanie

  • Polecenie CREATE TABLE służy do tworzenia tabel w MySQL
  • Tabele składają się z kolumn o różnych typach danych, np. INT, VARCHAR, DATE
  • Możemy ustawić klucz główny (PRIMARY KEY), ograniczenia (NOT NULL, UNIQUE) i klucze obce (FOREIGN KEY)
  • Tabele można tworzyć zarówno za pomocą SQL, jak i w phpMyAdmin

Dzięki tej lekcji potrafisz już tworzyć podstawowe tabele w MySQL i rozumiesz, jak je zaprojektować.