Masz zawsze o jeden wirus więcej, niż sądzisz.
Kurs MySQL - tworzenie tabel

Tworzenie tabel

Stworzenie bazy jest łatwe, jednak jak na razie jest ona pusta co pokazuje polecenie SHOW TABLES:

    mysql> SHOW TABLES;
    Empty set (0.00 sec)

Najtrudniejszą częścią jest zaplanowanie struktury bazy: jakie będzie miała tabele i jakie kolumny powinna zawierać każda z nich.

Potrzebujemy tabeli zawierającej rekord dla każdego z Twoich zwierząt. Można ją nazwać zwierze i powinna zawierać, jako najniezbędniejsze minimum: imię każdego zwierzęcia. Ponieważ samo imię nie jest zbyt interesujące, tabela powinna zawierać też inne informacje. Np. jeżeli w Twojej rodzinie zwierzęta hoduje więcej niż jedna osoba, to możesz dołączyć do listy imię właściciela każdego zwierzaka. Możesz też dodać informacje o gatunku i płci.

A co z wiekiem? To może być ciekawe jednak nie jest najlepszym pomysłem na przechowywanie w bazie danych. Wiek zmienia się w miarę upływu czasu co oznacza, że musiałbyś w miarę często aktualizować swoją bazę. Zamiast tego, lepiej zapisać jakąś stałą wartość, na przykład datę urodzenia. Wtedy, kiedykolwiek byś potrzebował wieku zwierzęcia, możesz go obliczyć jako różnicę między datą aktualną a datą urodzenia. MySQL dostarcza funkcji do arytmetyki dat więc nie jest to trudne. Przechowywanie daty urodzenia zamiast wieku ma jeszcze inne zalety:

  • możesz użyć swojej bazy do takich zadań jak przypominanie o nadchodzących urodzinach zwierzęcia. Jeżeli uważasz że tego typu zapytanie jest trochę głupie zauważ, że ten samo problem może pojawić się w kontekście bazy biznesowej do przypominania o urodzinach klientów
     
  • możesz obliczyć wiek w stosunku do innej daty niż bieżąca. Jeżeli w bazie masz zapisane daty śmierci, możesz łatwo obliczyć w jakim wieku zwierzaka zdechł.
     

Prawdopodobnie myślisz też o innych typach informacji jakie mogą być użyteczne w tabeli zwierze. Jednak te omówione do tej pory, czyli imię, właściciel, gatunek, płeć, data urodzenia i śmierci, są - jak na potrzeby naszego przykładu - wystarczające.

Aby określić strukturę swojej tabeli użyj instrukcji CREATE TABLE:

    mysql> CREATE TABLE zwierze (
    -> imie VARCHAR(20),
    -> wlasciciel VARCHAR(20),
    -> gatunek VARCHAR(20),
    -> plec CHAR(1),
    -> urodzony DATE,
    -> zmarl DATE
    -> );

VARCHAR to dobry wybór dla kolumn imie, wlasciciel i gatunek, ponieważ ich wartości są różnej długości i niekoniecznie muszą być takie same i wynosić np. 20 znaków. Możesz wybrać długość z przedziału od 1 do 255 dobierając najlepszą wg Ciebie. Jeżeli wybierzesz źle i okaże się, że potrzebujesz dłuższego pola, to w MySQL istnieje instrukcja ALTER TABLE pozwalająca na zmianę struktury tabeli.

Płeć zwierzęcia może być reprezentowana na różne sposoby, na przykład "m" i "z", lub "męska" i "żeńska". Najprościej jest użyć znaków "m" i "z".

Użycie typu DATE dla danych o urodzinach i śmierci jest raczej oczywiste.

Teraz, kiedy już stworzyłeś tabelę, SHOW TABLES powinno w końcu pokazać jakiś wynik:

    mysql> SHOW TABLES;

    +---------------------+
    | Tables in menazeria |
    +---------------------+
    | zwierze             |
    +---------------------+

Dla sprawdzenia, że tabela została utworzona zgodnie z zamierzeniami, użyj instrukcji DESCRIBE:

    mysql> DESCRIBE zwierze;

    +------------+-------------+------+-----+---------+-------+
    | Field      | Type        | Null | Key | Default | Extra |
    +------------+-------------+------+-----+---------+-------+
    | imie       | varchar(20) | YES  |     | NULL    |       |
    | wlasciciel | varchar(20) | YES  |     | NULL    |       |
    | gatunek    | varchar(20) | YES  |     | NULL    |       |
    | plec       | char(1)     | YES  |     | NULL    |       |
    | urodzony   | date        | YES  |     | NULL    |       |
    | zmarl      | date        | YES  |     | NULL    |       |
    +------------+-------------+------+-----+---------+-------+

Możesz użyć DESCRIBE zawsze wtedy, kiedy np. zapomnisz nazwy lub typu kolumny tabeli.

« wstecz   dalej »