在MySQL中,可以使用不同的數據類型來存儲各種類型的數據。其中,時間數據類型非常常用,因為MySQL常常需要存儲時間相關的數據,比如日期、時間、時間戳等等。下面我們來詳細介紹一下MySQL中時間數據類型。
CREATE TABLE example ( id INT PRIMARY KEY, created_at DATETIME, updated_at TIMESTAMP, deleted_at DATETIME DEFAULT NULL );
在上面的代碼中,我們使用了三種不同的時間數據類型:DATETIME、TIMESTAMP和NULL。下面分別介紹一下:
DATETIME
DATETIME是MySQL中最常用的時間數據類型之一。它可以存儲日期和時間,精確到秒。例如,在上面的代碼中,我們使用了created_at和deleted_at兩個DATETIME字段來存儲記錄的創建時間和刪除時間。如果需要插入數據到這個表中,可以按照下面的格式插入:
INSERT INTO example (id, created_at, deleted_at) VALUES (1, '2022-01-01 10:00:00', '2022-01-01 10:30:00');
TIMESTAMP
TIMESTAMP是另一種常用的時間數據類型。它可以存儲日期和時間,精確到秒,但它的范圍比DATETIME小。TIMESTAMP支持的范圍是從'1970-01-01 00:00:01'UTC到'2038-01-19 03:14:07'UTC。在上面的代碼中,我們使用了updated_at這個TIMESTAMP字段來存儲記錄的更新時間。如果需要插入數據到這個表中,可以按照下面的格式插入:
INSERT INTO example (id, created_at, updated_at) VALUES (2, '2022-01-01 11:00:00', CURRENT_TIMESTAMP());
NULL
NULL在MySQL中是一個特殊的值,表示沒有值。在上面的代碼中,我們使用了deleted_at這個DATETIME字段,并將它的默認值設置為NULL。這表示,在插入一條新的記錄時,如果沒有指定deleted_at的值,它將自動被設置為NULL。
除了DATETIME、TIMESTAMP和NULL,MySQL還支持其他一些時間數據類型,比如DATE、TIME、YEAR等等。不同的時間數據類型適用于不同的場景,開發者可以根據實際需求選擇合適的時間數據類型。