Samouczek MySQL

Strona główna MySQL Wprowadzenie do MySQL RDBMS MySQL

SQL MySQL

SQL MySQL WYBIERZ MySQL MySQL GDZIE MySQL I, LUB, NIE MySQL ZAMÓW PRZEZ INSERT INTO w MySQL Wartości NULL MySQL AKTUALIZACJA MySQL USUŃ MYSQL LIMIT MySQL MIN i MAX w MySQL LICZBA, ŚREDNIA, SUMA MYSQL PODOBNE do MySQL Symbole wieloznaczne MySQL MySQL IN MySQL POMIĘDZY Aliasy MySQL Połączenia MySQL WEWNĘTRZNE DOŁĄCZENIE do MySQL DOŁĄCZ DO MYSQL W LEWO DOŁĄCZ DO MYSQL DOŁĄCZ DO MYSQL Samo dołączanie do MySQL UNIA MySQL MySQL GRUPA WG MySQL POSIADAJĄCY MySQL ISTNIEJE MySQL WSZYSTKO, WSZYSTKO MySQL WSTAWIĆ WYBIERZ PRZYPADEK MySQL Funkcje zerowe MySQL Komentarze MySQL Operatory MySQL

Baza danych MySQL

Tworzenie bazy danych MySQL Upuść bazę danych MySQL Utwórz tabelę MySQL Tabela upuszczania MySQL Zmień tabelę MySQL Ograniczenia MySQL MySQL nie jest pusty Unikalny MySQL Klucz podstawowy MySQL Klucz obcy MySQL Kontrola MySQL Domyślny MySQL Indeks tworzenia MySQL Automatyczny przyrost MySQL Daty MySQL Widoki MySQL

Referencje MySQL

Typy danych MySQL Funkcje MySQL

Przykłady MySQL

Przykłady MySQL Quiz MySQL Ćwiczenia MySQL

MySQL pracuje z datami


Daty MySQL

Najtrudniejszą częścią pracy z datami jest upewnienie się, że format daty, którą próbujesz wstawić, odpowiada formatowi kolumny daty w bazie danych.

Dopóki Twoje dane zawierają tylko część dotyczącą daty, Twoje zapytania będą działać zgodnie z oczekiwaniami. Jeśli jednak w grę wchodzi część czasu, sprawa staje się bardziej skomplikowana.


Typy danych MySQL

MySQL zawiera następujące typy danych do przechowywania daty lub wartości daty/czasu w bazie danych:

  • DATE - format RRRR-MM-DD
  • DATETIME - format: RRRR-MM-DD GG:MI:SS
  • TIMESTAMP - format: RRRR-MM-DD GG:MI:SS
  • YEAR - format RRRR lub RR

Uwaga: Typ danych data jest ustawiany dla kolumny podczas tworzenia nowej tabeli w bazie danych!


Praca z datami

Spójrz na poniższą tabelę:

Tabela zamówień

OrderId ProductName OrderDate
1 Geitost 2008-11-11
2 Camembert Pierrot 2008-11-09
3 Mozzarella di Giovanni 2008-11-11
4 Mascarpone Fabioli 2008-10-29

Teraz chcemy wybrać rekordy z datą zamówienia „2008-11-11” z powyższej tabeli.

Używamy następującego SELECToświadczenia:

SELECT * FROM Orders WHERE OrderDate='2008-11-11'

Zestaw wyników będzie wyglądał tak:

OrderId ProductName OrderDate
1 Geitost 2008-11-11
3 Mozzarella di Giovanni 2008-11-11

Uwaga: Dwie daty można łatwo porównać, jeśli nie ma w tym składnika czasu!

Teraz załóżmy, że tabela „Orders” wygląda tak (zwróć uwagę na dodany składnik czasu w kolumnie „OrderDate”):

OrderId ProductName OrderDate
1 Geitost 2008-11-11 13:23:44
2 Camembert Pierrot 2008-11-09 15:45:21
3 Mozzarella di Giovanni 2008-11-11 11:12:01
4 Mascarpone Fabioli 2008-10-29 14:56:59

Jeśli użyjemy tego samego SELECTstwierdzenia co powyżej:

SELECT * FROM Orders WHERE OrderDate='2008-11-11'

nie otrzymamy żadnego wyniku! Dzieje się tak, ponieważ zapytanie szuka tylko dat bez części czasowej.

Wskazówka: Aby zapytania były proste i łatwe w utrzymaniu, nie używaj w datach elementów czasowych, chyba że musisz!