日期和時間型別
表示時間值的日期和時間型別為datetime、date、timestamp、time和year。
每個時間型別有乙個有效值範圍和乙個"零"值,當指定不合法的mysql不能表示的值時使用"零"值。
timestamp型別有專有的自動更新特性,將在後面描述。型別大小範圍格式用途
date31000-01-01/9999-12-31yyyy-mm-dd日期值
time3'-838:59:59'/'838:59:59'hh:mm:ss時間值或持續時間
year11901/2155yyyy年份值
datetime81000-01-01 00:00:00/9999-12-31 23:59:59yyyy-mm-dd hh:mm:ss混合日期和時間值
timestamp41970-01-01 00:00:00/2038
結束時間是第2147483647秒,北京時間2038-1-19 11:14:07,格林尼治時間 2023年1月19日 凌晨 03:14:07yyyymmdd hhmms
日期時間型別mysql資料型別含義
date日期 '2008-12-2'
time時間 '12:25:36'
datetime日期時間 '2008-12-2 22:06:44'
timestamp自動儲存記錄修改時間
注意:若定義乙個欄位為timestamp,這個欄位裡的時間資料會隨其他字段修改的時候自動重新整理,所以這個資料型別的字段可以存放這條記錄最後被修改的時間。
建立乙個t8表,測試:
mysql> create table t8 ( n1 year, n2 date, n3 time, n4 datetime );
query ok, 0 rows affected (0.04 sec)
#n1(year)插入"1901"值.
mysql> insert into t8 (n1) values (1901);
query ok, 1 row affected (0.00 sec)
#檢視表中的資料.
mysql> select * from t8;
| n1 | n2 | n3 | n4 |
| 1901 | null | null | null |
1 row in set (0.00 sec)
#n2(date)插入"2017-12-04"值.
mysql> insert into t8 (n2) values ("2017-12-04");
query ok, 1 row affected (0.04 sec)
#檢視表中的資料.
mysql> select * from t8;
| n1 | n2 | n3 | n4 |
| 1901 | null | null | null |
| null | 2017-12-04 | null | null |
2 rows in set (0.00 sec)
#n3(time)插入"18:12:03"值.
mysql> insert into t8 (n3) values ("18:12:03");
query ok, 1 row affected (0.01 sec)
mysql> select * from t8;
| n1 | n2 | n3 | n4 |
| 1901 | null | null | null |
| null | 2017-12-04 | null | null |
| null | null | 18:12:03 | null |
3 rows in set (0.00 sec)
#n4(datetime)插入"2018-12-03 18:12:03"值.
mysql> insert into t8 (n4) values ("2018-12-03 18:12:03");
query ok, 1 row affected (0.00 sec)
mysql> select * from t8;
| n1 | n2 | n3 | n4 |
| 1901 | null | null | null |
| null | 2017-12-04 | null | null |
| null | null | 18:12:03 | null |
| null | null | null | 2018-12-03 18:12:03 |
4 rows in set (0.00 sec)
#timestamp屬性,自動更新時間戳.
mysql> create table t9 (
-> id int,
-> ts timestamp
query ok, 0 rows affected (0.00 sec)
mysql> insert into t9 (id) values (1);
query ok, 1 row affected (0.00 sec)
mysql> select * from t9;
| id | ts |
| 1 | 2019-01-26 19:04:40 |
1 row in set (0.00 sec)
timestamp和datetime的不同點:
兩者的儲存方式不一樣
對於timestamp,它把客戶端插入的時間從當前時區轉化為utc(世界標準時間)進行儲存。查詢時,將其又轉化為客戶端當前時區進行返回。
而對於datetime,不做任何改變,基本上是原樣輸入和輸出。
兩者所能儲存的時間範圍不一樣
timestamp所能儲存的時間範圍為:'1970-01-01 00:00:01.000000' 到 '2038-01-19 03:14:07.999999'。
datetime所能儲存的時間範圍為:'1000-01-01 00:00:00.000000' 到 '9999-12-31 23:59:59.999999'。
MySql修改時間
用python爬取國外的乙個 的資料,資料報含有時間,但是歐洲那邊和我們這邊有8小時的時差,本來在程式裡已經處理過了,但是他們又有夏令時,所以有的時候時間差是7小時,但是發現的時候,時間已經錯誤了,只能手動在mysql裡處理 date add dt,interval 1 microsecond 加1...
MySql修改時間
set dt now select date add dt,interval 1 day 加1天 select date add dt,interval 1 hour 加1小時 select date add dt,interval 1 minute 加1分鐘 select date add dt,...
linux修改時間
date s 12 20 2003 date s 12 30 00 clock w 寫入bios hwclock r顯示bios時間 修改linux時區 1.檢視當前時區 more etc sysconfig clock 2.修改設定時區 方法1 tzselect 方法2 timeconfig 3....