MySQL中的時間戳是一種特殊的數據類型,它通常用于存儲日期和時間。時間戳可以很容易地轉換為日期和時間,因為MySQL使用一個設定的起始時間戳來表示逝去的時間。
時間戳在MySQL中存儲為一個整數,在MySQL 5.6及以上版本中,時間戳長度為8個字節,即64位。它可以存儲從1677年1月1日00:00:00到達到了2262年12月31日23:59:59之間的所有日期和時間。
在MySQL中,使用UNIX_TIMESTAMP()函數可以將日期和時間轉換為時間戳。例如,UNIX_TIMESTAMP('2022-11-11 11:11:11')將返回一個時間戳,表示2022年11月11日11時11分11秒的時間。反過來,使用FROM_UNIXTIME()函數可以將時間戳轉換為日期和時間。例如,FROM_UNIXTIME(1668212471)將返回日期和時間為2022-02-11 11:54:31。
CREATE TABLE example ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
在上面的例子中,我們創建了一個名為example的表,并定義了一個名為created_at的時間戳字段。為了使這個字段自動保存創建時間,我們使用DEFAULT CURRENT_TIMESTAMP選項。這樣,當一個新的行被插入時,created_at字段將自動設置為當前時間戳。
總之,MySQL時間戳是一個靈活、強大的數據類型,可用于存儲各種日期和時間。在實際開發中,我們可以利用時間戳來創建有效的日期比較和排序規則,以及計算時間差。