Cum se utilizează în MySQL: timestamp și datetime
MySQL oferă dezvoltatorului capacitatea de a lucra în timp în diferite moduri. Există tipuri de date pentru descrierea câmpurilor din tabele. Există multe funcții pentru a fi utilizate în interogări. Localizarea temporară disponibilă și schimbarea fuselor orare în sesiuni, setările MySQL și utilizarea timpului sistemului de operare.
conținut
Responsabilitatea pentru aplicarea tipurilor de date și schimbarea fusurilor orare revine dezvoltatorului, care trebuie să țină cont de timpul și timpul serverului clientului. Nu coincid întotdeauna.
Descrierea tabelelor cu câmpuri de timp
Exemplul descrie trei moduri de reprezentare a timpului. Două dintre ele sunt de tip timestamp MySQL (start_timestamp, next_timestamp), unul este de tip datetime MySQL (start_datetime) și varianta personalizată sub forma unui șir de caractere (work_income).
Tipul marcajului de timp este formatul nativ pentru timpul de captură a evenimentului MySQL, are nevoie de 8 octeți, este un număr întreg și are o caracteristică: prima coloană este umplută cu automatul în momentul creării: interogare (1). Al doilea și toate celelalte - rămân nul, dar acest lucru nu este NULL. Interogarea (2) conține funcția timestamp MySQL now (), care a fost folosită pentru a popula câmpul start_datetime.
În acest exemplu, se vede că tabela generată de interogare (1, crearea tabelului) va umple prima coloană a start_timestamp cu mașina automat în momentul creării tabelului. Interogarea (2, completarea tabelului) arată că acesta este cazul. Cea de-a doua coloană a lui next_timestamp rămâne zero: toate componentele datei și ale timpului sunt reprezentate de "0" în toate pozițiile, dar nu și NULL, ca întregul câmp.
Dacă cererea de a elimina referința la câmpul start_datetime și funcția care este acum (), câmpul start_datetime va conține valoarea NULL. Partea de sus a imaginii arată tabelul utilizând funcția de umplere, partea de jos este tabelul fără a utiliza acum (). Diferențele sunt semnificative.
Timpul Unix și timpul utilizatorului
MySQL câmpuri tabel de timbru datatime diferă în umplere și utilizare. De exemplu, opțiunea:
- int mktime ([int ora [, int minute [, int second [, ...
este disponibil pentru un câmp de tip datetime, în timp ce câmpul timestamp este mai orientat spre funcțiile limbii MySQL în sine.
Pentru a folosi câmpurile de timp cât mai eficient și mai sigur, este recomandabil să vă concentrați asupra modului de lucru cu marca de timp MySQL în funcționalitatea propusă, în sensul că scopul său este determinat de baza însăși. Aceasta este propria sa ștampilă de timp, formatul de reprezentare a timpului.
Tipul datetime este mai relativ la timpul din vizualizarea Unix era și poate fi asociat, de exemplu, cu funcția PHP mktime () sau cu un format de text simplu, de exemplu:
Aici variabila $ cStndDate este un text simplu, care este interpretat în interogare ca ceva scris în format de dată / oră. Dacă variabila este specificată corect, valoarea dorită este înscrisă în câmpul cerut al tabelului.
Timpul utilizatorului este cerința sarcinii. Nu este întotdeauna necesară prezentarea în baza de date a tuturor drepturilor de gestionare a timpului. Întotdeauna face totul în felul ei. Acest lucru nu este întotdeauna corect, de exemplu, avem nevoie de numele lunilor rusești sau de o comandă specială pentru înregistrarea zilei, lunii și anului.
Zonele de timp și logica corectă
Lucrul cu marca de timp MySQL datetime necesită îngrijire și precizie. Un alt lucru - propriul său formatul datei, scrise în text simplu. Este adevărat că, în acest caz, avantajele tipurilor de date standard se pierd, de exemplu, sortarea sau calculul peste date, dar apar avantajele dorite.
În orice caz, dezvoltatorul ar trebui să fie extrem de atent. Zonele de timp, setările de localizare și multe alte nuanțe pot crea o anumită neînțelegere. Dacă se întâmplă ceva cu o dată cu NULL sau cu zero în toate pozițiile, trebuie să căutați, în primul rând, o eroare în propriul algoritm. MySQL, câmpurile de date și funcțiile de timp lucrează extrem de stabil și corect.
- Fișier SQL. Formatul de fișier SQL: descrierea extensiei
- MySQL este ceea ce și unde se aplică?
- Crearea unei baze de date MySQL face parte din orice site
- MySQL - ce este? Eroare MySQL
- MySQL selectați selectați: operatorul de eșantionare
- Folosind MySQL: inserați în
- MySQL - cererea în cerere. MySQL: exemple de interogări. Întrebări interogate MySQL
- "Capcane" de comenzi DML Actualizați MySQL
- MySQL JOIN: o descriere, un exemplu de utilizare a comenzii și recomandări
- Șterge instrucțiunea Șterge MySQL
- Practica de utilizare a funcției MySQL count
- Ștergerea duplicatelor MySQL
- Cum se creează o bază de date mysql
- Accesați rezultatele probelor prin intermediul matricei de preluare MySQL
- Gruparea înregistrărilor MySQL: grup de
- Selectați înregistrări unice în interogarea MySQL: selectați distinct
- Data și ora în MySQL: formatul datei, sortarea și localizarea
- Administrarea MySQL: cum să creați un utilizator și să-i stabiliți drepturile
- Replicarea MySQL. Excursie scurtă
- Tipuri de date de bază Mysql
- DBMS este un sistem de management al datelor