Der Unterschied und die Wahl zwischen Datum und Uhrzeit und Zeitstempel in MySQL

Der Unterschied und die Wahl zwischen Datum und Uhrzeit und Zeitstempel in MySQL

Die beiden in MySQL am häufigsten verwendeten Zeitspeichertypen sind datetime und timestamp . Die Wahl zwischen diesen beiden Optionen ist eine wichtige Überlegung beim Bau eines Tisches. Lassen Sie uns über die Unterschiede und die Auswahl sprechen.

1 Unterschied

1.1 Raumbelegung

Typ Belegt Bytes Darstellung
Datum/Uhrzeit 8 Byte jjjj-mm-tt hh:mm:ss
Zeitstempel 4 Byte jjjj-mm-tt hh:mm:ss

1.2 Darstellungsumfang

Typ Darstellungsbereich
Datum/Uhrzeit '1000-01-01 00:00:00.000000' bis '9999-12-31 23:59:59.999999'
Zeitstempel '1970-01-01 00:00:01.000000' bis '2038-01-19 03:14:07.999999'

Zeitstempel wird im Chinesischen als „ timestamp “ übersetzt und gibt die Anzahl der Sekunden von der aktuellen Zeit bis zum Unix-Jahr 1 an (0 Stunden, 0 Minuten, 0 Sekunden am 1. Januar 1970). Bei manchen Zeitberechnungen ist es schwieriger, wenn sie im Format datetime vorliegen. Wenn ich beispielsweise am 1994-1-20 06:06:06 geboren wurde und die aktuelle Zeit 2016-10-1 20:04:50 ist, dann ist zur Berechnung meiner Lebenszeit eine Funktion zur Konvertierung von datetime erforderlich, der Zeitstempel kann jedoch direkt abgezogen werden.

1.3 Zeitzone

timestamp nimmt nur 4 Bytes ein und wird im UTC-Format gespeichert. Er ruft automatisch die aktuelle Zeitzone ab und führt die Konvertierung durch.

datetime werden als 8 Bytes gespeichert und es wird kein Zeitzonenabruf durchgeführt.

Das bedeutet, dass beim timestamp die abgerufenen Daten unterschiedlich sind, wenn die Zeitzone beim Speichern und Abrufen unterschiedlich ist. Für datetime erhalten Sie das, was Sie eingeben.

Ein weiterer Unterschied besteht darin, dass bei einer Speicherung von NULL timestamp automatisch die aktuelle Zeit speichert, während datetime NULL speichert.

2 Testen

Lassen Sie uns eine neue Tabelle erstellen

Einfügen von Daten

Wenn Sie sich die Daten ansehen, können Sie sehen, dass NULL gespeichert ist. timestamp speichert automatisch die aktuelle Zeit, während datetime NULL

Ändern Sie die Zeitzone auf Ost 9 und überprüfen Sie die Daten erneut. Sie werden feststellen timestamp eine Stunde länger ist als datetime .

Was passiert, wenn der eingegebene Wert ungültig ist? Wenn die eingegebene Zeit ein Zeitstempel ist

Das Ergebnis ist 0000-00-00 00:00:00 . Laut der offiziellen Erklärung wird der eingegebene Wert, wenn er ungültig ist, 0000-00-00 00:00:00 umgewandelt, aber der Zeitstempel ist kein gültiges Zeitformat MySQL .

Welche Formulare können also eingefügt werden? Hier sind drei

//Die folgenden sind alle von MySQL zugelassenen Formulare, und MySQL verarbeitet sie automatisch
01.10.2016 20:48:59 Uhr
2016#10#01 20/48/59
20161001204859

3 Auswahlmöglichkeiten

Wenn die Zeit Linux Zeit überschreiten soll oder die Zeitzone des Servers anders ist, wird empfohlen, datetime zu wählen.

Wenn Sie die Funktion zum automatischen Einfügen oder automatischen Aktualisieren der Zeit verwenden möchten, können Sie timestamp verwenden.

Wenn Sie nur Jahr, Datum und Uhrzeit darstellen möchten, können Sie auch year , date und time verwenden, die jeweils 1, 3 und 3 Bytes belegen, und datetime ist ihre Sammlung.

Dies ist das Ende dieses Artikels über den Unterschied und die Auswahl zwischen datetime und Uhrzeit sowie timestamp in MySQL . Weitere Informationen zu datetime und Uhrzeit sowie timestamp in MySQL finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Zusammenfassung der Verwendung von Datetime und Timestamp in MySQL
  • Eine kurze Erläuterung des Datums-/Uhrzeitformats beim Exportieren von Tabellendaten von MySQL nach Excel
  • Der Unterschied und die Verwendung von Datum/Uhrzeit und Zeitstempel in MySQL
  • So legen Sie den Standardwert für den Datums-/Uhrzeittyp in MySQL fest
  • So erstellen Sie einen Datetime-Typ in einer MySQL-Datenbank

<<:  Beispielcode zum Setzen von Hotlinks und Koordinatenwerten für Webbilder

>>:  Verwendung von TypeScript-Generics

Artikel empfehlen

Inspirierende Designbeispiele für glänzendes und schimmerndes Website-Design

Diese Sammlung zeigt eine Reihe herausragender und...

Detaillierte Erklärung zum CSS-Randkollaps

Vorherige Das ist eine klassische alte Frage. Da ...

Vue implementiert die browserseitige Code-Scan-Funktion

Hintergrund Vor nicht allzu langer Zeit habe ich ...

Implementierung der Formularübermittlung in HTML

Formularübermittlungscode 1. Quellcode-Analyse &l...

Mysql, einige komplexe SQL-Anweisungen (Abfragen und Löschen doppelter Zeilen)

1. Suchen Sie nach doppelten Zeilen Wählen Sie * ...

IE6-Verzerrungsproblem

Frage: <input type="hidden" name=&qu...

So führen Sie ein Python-Skript auf Docker aus

Erstellen Sie zunächst ein spezielles Projektverz...

So fügen Sie MySQL Indizes hinzu

Hier ist eine kurze Einführung in Indizes: Der Zw...

So erhalten Sie den Maximal- oder Minimalwert einer Zeile in SQL

Originaldaten und Zieldaten SQL-Anweisungen imple...

Detaillierte Einführung in die Mysql-Datumsabfrage

Abfrage des aktuellen Datums AKTUELLES DATUM AUSW...