MySQL數據庫中的timestamp數據類型是一種特殊的日期和時間類型,其可以表示從1970年1月1日至今的秒數。在MySQL中,timestamp類型數據的存儲大小為4個字節,可存儲范圍為'1970-01-01 00:00:01' to '2038-01-19 03:14:07'
CREATE TABLE test_table ( id INT AUTO_INCREMENT PRIMARY KEY, created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP );
上述示例代碼定義了一個名為test_table的表,其中有兩個timestamp類型的列。其中,created_at列在行插入時將自動記錄時間戳,updated_at列則在行更新時自動記錄時間戳。
需要注意的是,timestamp類型數據在時間格式上有一定的限制,其只能精確到秒級別,因此在處理需要精確到毫秒或微秒級別的時間時需要使用其他類型。
SELECT *, UNIX_TIMESTAMP(created_at), FROM_UNIXTIME(created_at, '%Y-%m-%d %H:%i:%s') FROM test_table;
使用UNIX_TIMESTAMP函數可以將timestamp類型數據轉換成UNIX時間戳(以秒計),而FROM_UNIXTIME函數則可以將UNIX時間戳轉換成指定格式的日期和時間字符串。
總之,在MySQL中,timestamp類型數據是一種非常有用的日期和時間類型,其具有存儲空間小、自動記錄時間戳等優勢,可以方便地應用于各種開發場景中。