Heim >Datenbank >MySQL-Tutorial >Was sind die Zeittypen in MySQL?

Was sind die Zeittypen in MySQL?

WBOY
WBOYnach vorne
2023-06-01 10:19:051515Durchsuche
Auswahl des Zeittyps

Der Zeitfeldtyp kann Datum/Uhrzeit und Zeitstempel auswählen. Die folgende Tabelle zeigt den Unterschied zwischen den beiden:

Was sind die Zeittypen in MySQL?

Zeitstempel wird ins Chinesische als „Zeitstempel“ übersetzt, was die aktuelle Zeit ist in Unix-Yuan Die Anzahl der Sekunden im Jahr (0 Stunden, 0 Minuten, 0 Sekunden am 1. Januar 1970) nimmt 4 Bytes ein und wird im UTC-Format gespeichert. Die aktuelle Zeitzone wird automatisch abgerufen und konvertiert. Datetime wird in 8 Bytes gespeichert und es wird kein Abruf der Zeitzone durchgeführt. Mit anderen Worten: Wenn beim Zeitstempel die Zeitzone beim Speichern von der Zeitzone beim Abrufen abweicht, unterscheiden sich auch die entnommenen Daten. Für datetime erhalten Sie, was Sie sparen. Hier sind einige häufige Fälle und Auswahlvorschläge.

  • Wählen Sie entsprechend dem Speicherbereich aus, z. B. Produktionszeit, Haltbarkeit usw. Es wird empfohlen, Datum/Uhrzeit auszuwählen, da Datum/Uhrzeit einen größeren Bereich speichern kann.

  • Es wird empfohlen, einen Zeitstempel zu verwenden, um die Einfügezeit und Änderungszeit dieser Datenzeile aufzuzeichnen.

  • Wählen Sie einen Zeitstempel für das Zeitfeld aus, das sich auf die Zeitzone bezieht.

  • Wenn Sie nur Jahr, Datum und Uhrzeit darstellen möchten, können Sie auch Jahr, Datum und Uhrzeit verwenden. Sie belegen jeweils 1, 3 und 3 Bytes, und Datum und Uhrzeit sind ihre Sammlung.

Wenn das Zeitstempelfeld häufig für Abfragen verwendet wird, können wir auch die integrierte Funktion von MySQL verwenden, um Datums- und Zeitstempelnummern hin und her zu konvertieren. Nach der Konvertierung kann INT UNSIGNED zum Speichern der Zeit verwendet werden kontinuierlich und beanspruchen weniger Platz. Und Sie können Indizes verwenden, um die Abfrageleistung zu verbessern. Das Folgende ist ein Beispiel für eine Tabellenerstellungsanweisung und eine zeitstempelbezogene SQL-Konvertierung: FROM_UNIXTIME()UNIX_TIMESTAMP()

CREATE TABLE `tb_time` (
  `increment_id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键',
    `col1` datetime NOT NULL DEFAULT '2020-10-01 00:00:00' COMMENT '到期时间',
    `unix_createtime` int unsigned NOT NULL COMMENT '创建时间戳',
  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
  PRIMARY KEY (`increment_id`),
  KEY `idx_unix_createtime` (`unix_createtime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='time测试表';
# 插入数据
insert into tb_time (unix_createtime,create_time) values 
(UNIX_TIMESTAMP(now()),now());
# 时间戳数字与时间相互转换
select UNIX_TIMESTAMP('2020-05-06 00:00:00')
select FROM_UNIXTIME(1588694400)

Das obige ist der detaillierte Inhalt vonWas sind die Zeittypen in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen