中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

建筑網(wǎng)格布搭接seo經(jīng)典案例分析

建筑網(wǎng)格布搭接,seo經(jīng)典案例分析,南寧網(wǎng)站建設(shè)專業(yè)品牌,win7 iis 網(wǎng)站前言 ?歡迎來到小K的MySQL專欄,本節(jié)將為大家?guī)鞰ySQL數(shù)據(jù)類型簡(jiǎn)介 | 整數(shù) | 浮點(diǎn) | 定點(diǎn)類型的分享? 目錄 前言0.數(shù)據(jù)類型簡(jiǎn)介1 整數(shù)類型2 浮點(diǎn)類型3 定點(diǎn)類型4 日期/時(shí)間類型總結(jié) 0.數(shù)據(jù)類型簡(jiǎn)介 數(shù)據(jù)類型(data_type)是指系統(tǒng)中所允許的…

前言

?歡迎來到小K的MySQL專欄,本節(jié)將為大家?guī)鞰ySQL數(shù)據(jù)類型簡(jiǎn)介 | 整數(shù) | 浮點(diǎn) | 定點(diǎn)類型的分享?

目錄

  • 前言
      • 0.數(shù)據(jù)類型簡(jiǎn)介
      • 1 整數(shù)類型
      • 2 浮點(diǎn)類型
      • 3 定點(diǎn)類型
      • 4 日期/時(shí)間類型
      • 總結(jié)


在這里插入圖片描述

0.數(shù)據(jù)類型簡(jiǎn)介

數(shù)據(jù)類型(data_type)是指系統(tǒng)中所允許的數(shù)據(jù)的類型。MySQL 數(shù)據(jù)類型定義了列中可以存儲(chǔ)什么數(shù)據(jù)以及該數(shù)據(jù)怎樣存儲(chǔ)的規(guī)則。

數(shù)據(jù)庫(kù)中的每個(gè)列都應(yīng)該有適當(dāng)?shù)臄?shù)據(jù)類型,用于限制或允許該列中存儲(chǔ)的數(shù)據(jù)。例如,列中存儲(chǔ)的為數(shù)字,則相應(yīng)的數(shù)據(jù)類型應(yīng)該為數(shù)值類型。

如果使用錯(cuò)誤的數(shù)據(jù)類型可能會(huì)嚴(yán)重影響應(yīng)用程序的功能和性能,所以在設(shè)計(jì)表時(shí),應(yīng)該特別重視數(shù)據(jù)列所用的數(shù)據(jù)類型。更改包含數(shù)據(jù)的列不是一件小事,這樣做可能會(huì)導(dǎo)致數(shù)據(jù)丟失。因此,在創(chuàng)建表時(shí)必須為每個(gè)列設(shè)置正確的數(shù)據(jù)類型和長(zhǎng)度。

MySQL 的數(shù)據(jù)類型有大概可以分為 5 種,分別是整數(shù)類型浮點(diǎn)數(shù)類型定點(diǎn)數(shù)類型、日期和時(shí)間類型、字符串類型、二進(jìn)制類型等。

注意:整數(shù)類型和浮點(diǎn)數(shù)類型可以統(tǒng)稱為數(shù)值數(shù)據(jù)類型。

1 整數(shù)類型

1.1 類型介紹

整數(shù)類型包括 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT

類型說明大小(字節(jié))
TINYINT很小的整數(shù)1
SMALLINT小的整數(shù)2
MEDIUMINT中等大小的整數(shù)3
INT/INTEGER普通大小的整數(shù)4
BIGINT大整數(shù)8

1.2 可選屬性

1.2.1 M

M:表示顯示寬度,M的取值范圍是(0,255)。例如,INT(5):當(dāng)數(shù)據(jù)小于5位時(shí),可以用字符填充 補(bǔ)滿所需寬度。該功能需要配置ZEROFILL使用,表示用 0 填滿寬度,否則指定顯示寬度無(wú)效。

注意:設(shè)置寬度不會(huì)對(duì)原來的數(shù)據(jù)或者插入數(shù)據(jù)產(chǎn)生任何影響,僅僅是顯示效果不同。從MySQL 8.0.17開始,整數(shù)類型不推薦使用顯示寬度屬性。

1.2.2 UNSIGNED

所有整數(shù)類型都有一個(gè)可選的屬性UNSIGNED,無(wú)符號(hào)整數(shù)類型的最小取值為0。所以,如果需要在MySQL中保存非負(fù)整數(shù)是,可以將整數(shù)類型設(shè)置為無(wú)符號(hào)類型。

1.3 使用場(chǎng)景

TINYINT:一般用于枚舉類型,比如系統(tǒng)設(shè)定取值范圍很小且固定的場(chǎng)景。

SMALLINT:可以用于較小范圍的統(tǒng)計(jì)數(shù)據(jù),比如統(tǒng)計(jì)工廠的固定資產(chǎn)庫(kù)存數(shù)量等。

MEDIUMINT:用于較大整數(shù)的計(jì)算,比如車站每日的客流量等。

INT、INTEGER:取值范圍足夠大,一般情況下不用考慮超限問題,用的最多,比如商品編號(hào)。

BIGINT:只有當(dāng)你處理特別巨大的整數(shù)時(shí)才會(huì)用到,比如雙十一的交易量、大型門戶網(wǎng)站點(diǎn)擊量、證券公司衍生產(chǎn)品持倉(cāng)等。

1.4 如何選擇

在評(píng)估用哪種整數(shù)類型的時(shí)候,你需要考慮存儲(chǔ)空間可靠性的平衡問題:一方面,用占用字節(jié)數(shù)少的整數(shù)類型可以節(jié)省存儲(chǔ)空間;另一方面,要是為了節(jié)省存儲(chǔ)空間,使用的整數(shù)類型取值范圍太小,一旦遇到超出取值范圍的情況,就可能引起系統(tǒng)錯(cuò)誤,影響可靠性。

舉個(gè)栗子,商品編號(hào)采用的數(shù)據(jù)類型是INT。原因就在于,客戶門店中流通的商品種類較多,而且,每天都有舊的商品下架,新的商品上架,這樣不斷迭代,日積月累。

如果使用 SMALLINT 類型,雖然占用字節(jié)數(shù)比 INT 類型的證書少,但是卻不能保證數(shù)據(jù)不會(huì)超出 655345。相反,使用INT 就能確保有足夠大的取值范圍,不用擔(dān)心數(shù)據(jù)超出范圍影響可靠性。

你要注意的是,在實(shí)際工作中,系統(tǒng)故障產(chǎn)生的成本遠(yuǎn)遠(yuǎn)超過增加幾個(gè)字段存儲(chǔ)空間所產(chǎn)生的成本。因此,我建議你首先確保數(shù)據(jù)不會(huì)超過取值范圍,在這個(gè)前提下,再去考慮如何節(jié)省存儲(chǔ)空間。

2 浮點(diǎn)類型

2.1 類型介紹

浮點(diǎn)數(shù)類型包括 FLOAT、DOUBLE和REAL。

類型說明大小(字節(jié))
FLOAT單精度浮點(diǎn)數(shù)4
DOUBLE雙精度浮點(diǎn)數(shù)8
REAL默認(rèn)為DOUBLE把SQL模式設(shè)定為“REAL_AS_FLOAT”,REAL就是FLOAT
SET sql_mode = "REAL_AS_FLOAT"

2.2 精度說明

  • MySQL允許使用非標(biāo)準(zhǔn)語(yǔ)法(其他數(shù)據(jù)庫(kù)未必支持,因此如果涉及到數(shù)據(jù)前移,則最好不要這么用):FLOAT(M,D)或DOUBLE(M,D)。其中M稱為精度,表示總共的位數(shù);D稱為標(biāo)度,表示小數(shù)的位數(shù)。D<=M<=255,0<=D<=30。

    例如:定義為FLOAT(5,2)的一個(gè)列可以顯示為[-999.99,999.99],超出這個(gè)范圍會(huì)報(bào)錯(cuò)

  • FLOAT 和 DOUBLE 在不指定精度時(shí),默認(rèn)會(huì)按照實(shí)際的精度(由計(jì)算機(jī)硬件和操作系統(tǒng)決定)。

  • 注意:浮點(diǎn)類型也可以加UNSIGNED,但是不會(huì)改變數(shù)據(jù)范圍,例如:FLOAT(3,2) UNSIGNED任然只能表示0-9.99的范圍。

  • 不管是否顯示設(shè)置了精度(M,D),MySQL有自己的處理方案:

    • 如果存儲(chǔ)時(shí),整數(shù)部分超出了范圍,則直接報(bào)錯(cuò)。
    • 如果存儲(chǔ)時(shí),小數(shù)點(diǎn)部分超出范圍,就分一下情況:
      • 若四舍五入后,整數(shù)部分沒有超出范圍,就可以存儲(chǔ)。如在FLOAT(5,2)列插入999.009,近似結(jié)果是999.01。
      • 若四舍五入后,整數(shù)部分超出范圍,則直接報(bào)錯(cuò)。如在FLOAT(5,2)列插入999.995和-999.995都會(huì)報(bào)錯(cuò)。
  • 從MySQL8.0.17開始,FLOAT(M,D)和DOUBLE(M,D)用法在官方文檔中已經(jīng)明確不推薦使用了,將來可能會(huì)被移除;另外關(guān)于浮點(diǎn)類型FLOAT和DOUBLE的UNSIGNED也不推薦使用了,將來也可能被移除。

浮點(diǎn)數(shù)相對(duì)于定點(diǎn)數(shù)的優(yōu)點(diǎn)是在長(zhǎng)度一定的情況下,浮點(diǎn)數(shù)能夠表示更大的范圍;缺點(diǎn)是會(huì)引起精度問題。

最后再?gòu)?qiáng)調(diào)一下:在 MySQL 中,定點(diǎn)數(shù)以字符串形式存儲(chǔ),在對(duì)精度要求比較高的時(shí)候(如貨幣、科學(xué)數(shù)據(jù)),使用 DECIMAL 的類型比較好,另外兩個(gè)浮點(diǎn)數(shù)進(jìn)行減法和比較運(yùn)算時(shí)也容易出問題,所以在使用浮點(diǎn)數(shù)時(shí)需要注意,并盡量避免做浮點(diǎn)數(shù)比較

3 定點(diǎn)類型

定點(diǎn)數(shù)類型為 DECIMAL。

類型說明大小(字節(jié))
DECIMAL/DEC壓縮的“嚴(yán)格”定點(diǎn)數(shù)M+2

DECIMAL(M,D)。其中M稱為精度,表示總共的位數(shù);D稱為標(biāo)度,表示小數(shù)的位數(shù)。0<=M<=65,0<=D<=30,D<M。例如:定義為DECIMAL(5,2),表示該列的取值范圍是[-999.99,999.99]。

  • DECIMAL(M,D)的最大值范圍與DOUELE類型一樣,但是有效的數(shù)據(jù)方位是由M和D決定的。DECIMAL的存儲(chǔ)空間并不固定,由精度M決定,總共占用的存儲(chǔ)空間為M+2個(gè)字節(jié)。也就是說,在一些對(duì)精度要求不高的場(chǎng)景下,比起占用同樣字節(jié)長(zhǎng)度的定點(diǎn)數(shù),浮點(diǎn)數(shù)表達(dá)的數(shù)值范圍可以更大。
  • 定點(diǎn)數(shù)在MySQL內(nèi)部是以字符串的形式進(jìn)行存儲(chǔ)的,這就決定了它一定是精確的。
  • 當(dāng)DECIMAL類型不指定精度和標(biāo)度時(shí),其默認(rèn)為DECIMAL(10,0),當(dāng)數(shù)據(jù)的精度超出了定點(diǎn)數(shù)的精度范圍時(shí),則MySQL同樣會(huì)進(jìn)行四舍五入。
  • 浮點(diǎn)數(shù) vs 定點(diǎn)數(shù)
    • 浮點(diǎn)數(shù)相對(duì)于定點(diǎn)數(shù)的有點(diǎn)是在長(zhǎng)度一定的情況下,浮點(diǎn)類型取值范圍大,但是不精確,適用于需要取值范圍大,又可以容忍誤差的科學(xué)計(jì)算場(chǎng)景
    • 定點(diǎn)數(shù)類型取值范圍相對(duì)小,但是精準(zhǔn),沒有誤差,設(shè)置對(duì)于精度要求極高的場(chǎng)景(比如設(shè)計(jì)金額計(jì)算的場(chǎng)景)

4 日期/時(shí)間類型

包括 YEAR、TIME、DATE、DATETIME 和 TIMESTAMP。

類型說明日期范圍大小(字節(jié))
YEARYYYY1901~21551
TIMEHH:MM:SS-838:59:59 ~ 838:59:593
DATEYYYY-MM-DD1000-01-01 ~ 9999-12-33
DATETIMEYYYY-MM-DD HH:MM:SS1000-01-01 00:00:00 ~ 9999-12-31 23:59:598
TIMESTAMPYYYY-MM-DD HH:MM:SS1970-01-01 00:00:00 UTC ~ 2038-01-19 03:14:07 UTC4

YEAR類型

YEAR 類型是一個(gè)單字節(jié)類型,用于表示年,在存儲(chǔ)時(shí)只需要 1 個(gè)字節(jié)??梢允褂酶鞣N格式指定 YEAR,如下所示:

  • 以 4 位字符串或者 4 位數(shù)字格式表示 YEAR,范圍為 ‘1901’~’2155’。輸入格式為 ‘YYYY’ 或者 YYYY,例如,輸入 ‘2010’ 或 2010,插入數(shù)據(jù)庫(kù)的值均為 2010。
  • 以 2 位字符串格式表示的 YEAR,范圍為 ‘00’ 到 ‘99’?!?0’~’69’ 和 ‘70’~’99’ 范圍的值分別被轉(zhuǎn)換為 2000~2069 和 1970~1999 范圍的 YEAR 值?!?’ 與 ‘00’ 的作用相同。插入超過取值范圍的值將被轉(zhuǎn)換為 2000。

從MySQL5.5.27開始,2位格式的YEAR已經(jīng)不推薦使用。YEAR默認(rèn)格式就是“YYYY”,沒必要寫成YEAR(4)。

CREATE TABLE test_year
(f1 YEAR,f2 YEAR(4)
);INSERT INTO test_year(f1) VALUES('2021'),(2022);
INSERT INTO test_year(f1) VALUES('2155');
-- out of range value for column 'f1' at row 1
INSERT INTO test_year(f1) VALUES('2156');
INSERT INTO test_year(f1) VALUES('69'),('70');	#2069 1970
INSERT INTO test_year(f1) VALUES(0),('0');

DATE 類型

DATE 類型用于僅需要日期值時(shí),沒有時(shí)間部分,在存儲(chǔ)時(shí)需要 3 個(gè)字節(jié)。日期格式為 ‘YYYY-MM-DD’,其中 YYYY 表示年,MM 表示月,DD 表示日。

在給 DATE 類型的字段賦值時(shí),可以使用字符串類型或者數(shù)字類型的數(shù)據(jù)插入,只要符合 DATE 的日期格式即可。如下所示:

  • 以 ‘YYYY-MM-DD’ 或者 ‘YYYYMMDD’ 字符中格式表示的日期,取值范圍為 ‘1000-01-01’~’9999-12-3’。例如,輸入 ‘2015-12-31’ 或者 ‘20151231’,插入數(shù)據(jù)庫(kù)的日期為2015-12-31。
  • 以 ‘YY-MM-DD’ 或者 ‘YYMMDD’ 字符串格式表示日期,在這里YY表示兩位的年值。MySQL 解釋兩位年值的規(guī)則:‘00~69’ 范圍的年值轉(zhuǎn)換為 ‘2000~ 2069’,‘70~99’ 范圍的年值轉(zhuǎn)換為 ‘1970~1999’。例如,輸入 ‘15-12-31’,插入數(shù)據(jù)庫(kù)的日期為 2015-12-31;輸入 ‘991231’,插入數(shù)據(jù)庫(kù)的日期為 1999-12-31。
  • 使用 CURRENT_DATE() 或者 NOW(),插入當(dāng)前系統(tǒng)日期。

提示:MySQL 允許“不嚴(yán)格”語(yǔ)法:任何標(biāo)點(diǎn)符號(hào)都可以用作日期部分之間的間隔符。例如,‘98-11-31’、‘98.11.31’、‘98/11/31’和’98@11@31’ 是等價(jià)的,這些值也可以正確地插入數(shù)據(jù)庫(kù)。

CREATE TABLE test_date1
(f1 DATE
);INSERT INTO test_date1 VALUES('2022-04-16'),('20220416'),(20220416);
INSERT INTO test_date1 VALUES('22-04-16'),('220416'),('69-04-16'),('690416'),('70-04-16'),('700416'),('99-04-16'),('990416');
INSERT INTO test_date1 VALUES(220416),(690416),(700416),(990416);
INSERT INTO test_date1 VALUES(CURRENT_DATE()),(NOW());

TIME 類型

TIME 類型用于只需要時(shí)間信息的值,在存儲(chǔ)時(shí)需要 3 個(gè)字節(jié)。格式為 HH:MM:SS。HH 表示小時(shí),MM 表示分鐘,SS 表示秒。

TIME 類型的取值范圍為 -838:59:59~838:59:59,小時(shí)部分如此大的原因是 TIME 類型不僅可以用于表示一天的時(shí)間(必須小于 24 小時(shí)),還可能是某個(gè)事件過去的時(shí)間或兩個(gè)事件之間的時(shí)間間隔(可大于 24 小時(shí),或者甚至為負(fù))。

可以使用各種格式指定 TIME 值,如下所示。

  • ‘D HH:MM:SS’ 格式的字符串。還可以使用這些“非嚴(yán)格”的語(yǔ)法:‘HH:MM:SS’、‘HH:MM’、‘D HH’ 或 ‘SS’。這里的 D 表示日,可以取 0~34 之間的值。在插入數(shù)據(jù)庫(kù)時(shí),D 被轉(zhuǎn)換為小時(shí)保存,格式為 “D*24+HH”。
  • ‘HHMMSS’ 格式、沒有間隔符的字符串或者 HHMMSS 格式的數(shù)值,假定是有意義的時(shí)間。例如,‘101112’ 被理解為’10:11:12’,但是 ‘106112’ 是不合法的(它有一個(gè)沒有意義的分鐘部分),在存儲(chǔ)時(shí)將變?yōu)?00:00:00。
  • 使用 CURRENT_TIME() 或者 NOW(),插入當(dāng)前系統(tǒng)時(shí)間。

提示:為 TIME 列分配簡(jiǎn)寫值時(shí)應(yīng)注意:如果沒有冒號(hào),MySQL 解釋值時(shí),假定最右邊的兩位表示秒。(MySQL 解釋 TIME 值為過去的時(shí)間而不是當(dāng)前的時(shí)間)。例如,讀者可能認(rèn)為 ‘1112’ 和 1112 表示 11:12:00(即 11 點(diǎn)過 12 分鐘),但MySQL 將它們解釋為 00:11:12(即 11 分 12 秒)。同樣 ‘12’ 和 12 被解釋為00:00:12。相反,TIME 值中如果使用冒號(hào)則肯定被看作當(dāng)天的時(shí)間,也就是說,‘11:12’ 表示 11:12:00,而不是 00:11:12。

CREATE TABLE test_time1
(f1 TIME
);
INSERT INTO test_time1 
VALUES('10:35:30'),('2 10:35:30'),('10:35'),('2 10:35'),('1 35'),('30');
INSERT INTO test_time1 VALUES('103530'),(103530),(1035);
INSERT INTO test_time1 VALUES(NOW()),(CURRENT_TIME());

DATETIME 類型

DATETIME 類型用于需要同時(shí)包含日期和時(shí)間信息的值,在存儲(chǔ)時(shí)需要 8 個(gè)字節(jié)。日期格式為 ‘YYYY-MM-DD HH:MM:SS’,其中 YYYY 表示年,MM 表示月,DD 表示日,HH 表示小時(shí),MM 表示分鐘,SS 表示秒。

在給 DATETIME 類型的字段賦值時(shí),可以使用字符串類型或者數(shù)字類型的數(shù)據(jù)插入,只要符合 DATETIME 的日期格式即可,如下所示。

  • 以 ‘YYYY-MM-DD HH:MM:SS’ 或者 ‘YYYYMMDDHHMMSS’ 字符串格式表示的日期,取值范圍為 ‘1000-01-01 00:00:00’~’9999-12-3 23:59:59’。
  • 以 ‘YY-MM-DD HH:MM:SS’ 或者 ‘YYMMDDHHMMSS’ 字符串格式表示的日期,在這里 YY 表示兩位的年值。與前面相同,‘00~79’ 范圍的年值轉(zhuǎn)換為 ‘2000~2079’,‘80~99’ 范圍的年值轉(zhuǎn)換為 ‘1980~1999’。
  • 以 YYYYMMDDHHMMSS 或者 YYMMDDHHMMSS 數(shù)字格式表示的日期和時(shí)間。

提示:**MySQL 允許“不嚴(yán)格”語(yǔ)法:任何標(biāo)點(diǎn)符號(hào)都可用作日期部分或時(shí)間部分之間的間隔符。**例如,‘98-12-31 11:30:45’、‘98.12.31 11+30+35’、‘98/12/31 113045’ 和 ‘98@12@31 11 ^ 30 ^ 45’ 是等價(jià)的,這些值都可以正確地插入數(shù)據(jù)庫(kù)。

CREATE TABLE test_datetime1
(dt DATETIME
);
INSERT INTO test_datetime1 VALUES('2022-04-16 18:50:30'),('20220416185030');
INSERT INTO test_datetime1 VALUES('99-04-16 18:50:30'),('990416185030'),('22-04-16 18:50:30'),('220416185030');
INSERT INTO test_datetime1 VALUES(20220202000000);
INSERT INTO test_datetime1 VALUES(CURRENT_TIMESTAMP()),(NOW());

TIMESTAMP 類型

TIMESTAMP 的顯示格式與 DATETIME 相同,顯示寬度固定在 19 個(gè)字符,日期格式為 YYYY-MM-DD HH:MM:SS,在存儲(chǔ)時(shí)需要 4 個(gè)字節(jié)。但是 TIMESTAMP 列的取值范圍小于 DATETIME 的取值范圍,為 '1970-01-01 00:00:01’UTC~’2038-01-19 03:14:07’UTC。在插入數(shù)據(jù)時(shí),要保證在合法的取值范圍內(nèi)。

提示:協(xié)調(diào)世界時(shí)(英:Coordinated Universal Time,法:Temps Universel Coordonné)又稱為世界統(tǒng)一時(shí)間、世界標(biāo)準(zhǔn)時(shí)間、國(guó)際協(xié)調(diào)時(shí)間。英文(CUT)和法文(TUC)的縮寫不同,作為妥協(xié),簡(jiǎn)稱 UTC。

TIMESTAMP 與 DATETIME 除了存儲(chǔ)字節(jié)和支持的范圍不同外,還有一個(gè)最大的區(qū)別是:

  • DATETIME 在存儲(chǔ)日期數(shù)據(jù)時(shí),按實(shí)際輸入的格式存儲(chǔ),即輸入什么就存儲(chǔ)什么,與時(shí)區(qū)無(wú)關(guān);
  • 而 TIMESTAMP 值的存儲(chǔ)是以 UTC(世界標(biāo)準(zhǔn)時(shí)間)格式保存的,存儲(chǔ)時(shí)對(duì)當(dāng)前時(shí)區(qū)進(jìn)行轉(zhuǎn)換,檢索時(shí)再轉(zhuǎn)換回當(dāng)前時(shí)區(qū)。即查詢時(shí),根據(jù)當(dāng)前時(shí)區(qū)的不同,顯示的時(shí)間值是不同的。

提示:如果為一個(gè) DATETIME 或 TIMESTAMP 對(duì)象分配一個(gè) DATE 值,結(jié)果值的時(shí)間部分被設(shè)置為 ‘00:00:00’,因此 DATE 值未包含時(shí)間信息。如果為一個(gè) DATE 對(duì)象分配一個(gè) DATETIME 或 TIMESTAMP 值,結(jié)果值的時(shí)間部分被刪除,因此DATE 值未包含時(shí)間信息。

CREATE TABLE test_timestamp
(ts TIMESTAMP
);
INSERT INTO test_timestamp VALUES('1999-01-01 01:02:03'),('1999-01-01 01:02:03'),('99-01-01 01:02:03'),('990101010203');
INSERT INTO test_timestamp VALUES('2022@01@02@11@22@33');
INSERT INTO test_timestamp VALUES(CURRENT_TIMESTAMP()),(NOW());

TIMESTAMP 和 DATETIME區(qū)別

CREATE TABLE temp_time
(d1 DATETIME,d2 TIMESTAMP
);
INSERT INTO temp_time VALUES('2022-04-16 19:09:55','2022-04-16 19:09:55');
INSERT INTO temp_time VALUES(NOW(),NOW());SELECT * FROM temp_time;SET time_zone = '+9:00'SELECT * FROM temp_time;	#設(shè)置之后再查詢一次
  • 設(shè)置時(shí)區(qū)
SET time_zone = '+9:00'

在這里插入圖片描述

TIMESTAMP妙用

TIMESTAMP時(shí)間戳在創(chuàng)建的時(shí)候可以有多重不同的特性,如:

1.在創(chuàng)建新記錄和修改現(xiàn)有記錄的時(shí)候都對(duì)這個(gè)數(shù)據(jù)列刷新:

TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

2.在創(chuàng)建新記錄的時(shí)候把這個(gè)字段設(shè)置為當(dāng)前時(shí)間,但以后修改時(shí),不再刷新它:

TIMESTAMP DEFAULT CURRENT_TIMESTAMP

3.在創(chuàng)建新記錄的時(shí)候把這個(gè)字段設(shè)置為0,以后修改時(shí)刷新它:

TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

4.在創(chuàng)建新記錄的時(shí)候把這個(gè)字段設(shè)置為給定值,以后修改時(shí)刷新它:

TIMESTAMP DEFAULT ‘yyyy-mm-dd hh:mm:ss' ON UPDATE CURRENT_TIMESTAMP

模擬用戶登錄

CREATE TABLE t_user
(id INT PRIMARY KEY AUTO_INCREMENT,createtime TIMESTAMP DEFAULT CURRENT_TIMESTAMP,lastlogintime TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,is_online TINYINT DEFAULT 0
);
INSERT INTO t_user(is_online) VALUES(1);SELECT * FROM t_user;# 數(shù)據(jù)更新
UPDATE t_user SET is_online=0 WHERE id=1;

在這里插入圖片描述

本來兩個(gè)時(shí)間是一模一樣的,但是當(dāng)用戶下線,lastlohintime發(fā)生自動(dòng)更新

總結(jié)

總的來說,選擇合適的數(shù)據(jù)類型可以提高數(shù)據(jù)庫(kù)的性能、節(jié)省存儲(chǔ)空間、確保數(shù)據(jù)的一致性和有效性,并方便進(jìn)行數(shù)據(jù)處理和計(jì)算。因此,在設(shè)計(jì)數(shù)據(jù)庫(kù)時(shí),選擇合適的數(shù)據(jù)類型非常重要。~下節(jié)帶來字符串 | 二進(jìn)制類型的分享

http://www.risenshineclean.com/news/28607.html

相關(guān)文章:

  • 網(wǎng)站開發(fā)2019最近的新聞?dòng)心男?/a>
  • 官方網(wǎng)站怎樣做網(wǎng)站快速優(yōu)化排名方法
  • php網(wǎng)站后臺(tái)管理系統(tǒng)源碼北京網(wǎng)絡(luò)營(yíng)銷外包公司哪家好
  • 杭州網(wǎng)站建設(shè)怎么樣交換友情鏈接的意義是什么
  • 手把手做網(wǎng)站友情鏈接檢測(cè)659292
  • 拿品牌做網(wǎng)站算侵權(quán)嗎google海外推廣
  • 國(guó)外做化學(xué)申報(bào)的網(wǎng)站做推廣的公司
  • 鄭州哪些公司做網(wǎng)站建設(shè)全網(wǎng)推廣的方式
  • 花溪建設(shè)村鎮(zhèn)銀行官方網(wǎng)站百度提交入口的網(wǎng)址
  • 沒有后臺(tái)的網(wǎng)站怎么做排名搜索風(fēng)云榜入口
  • flash怎么做網(wǎng)站抖音流量推廣神器軟件
  • 網(wǎng)站的風(fēng)格有哪些什么是seo
  • 電子商務(wù)網(wǎng)站建設(shè)是什么重慶森林為什么叫這個(gè)名字
  • 自己做外貿(mào)網(wǎng)站能接到單嗎網(wǎng)店運(yùn)營(yíng)實(shí)訓(xùn)報(bào)告
  • 大學(xué)招生網(wǎng)站建設(shè)關(guān)鍵信息基礎(chǔ)設(shè)施安全保護(hù)條例
  • 動(dòng)態(tài)網(wǎng)站編程文明seo
  • 高校網(wǎng)站建設(shè)需求分析報(bào)告百度號(hào)注冊(cè)官網(wǎng)
  • 網(wǎng)站做詞seo服務(wù)是什么意思
  • 做靜態(tài)網(wǎng)站用什么軟件西安網(wǎng)絡(luò)推廣外包公司
  • html php網(wǎng)站開發(fā)網(wǎng)址如何被快速收錄
  • 基于bmob的網(wǎng)站開發(fā)廣州seo代理
  • 有沒有專做于投融資的網(wǎng)站互換鏈接的方法
  • 黨中央建設(shè)的少年網(wǎng)站百度流量統(tǒng)計(jì)
  • 網(wǎng)站排名軟件包年找代寫文章寫手
  • 餐飲網(wǎng)站 設(shè)計(jì)技術(shù)教程優(yōu)化搜索引擎整站
  • 綿陽(yáng)城鄉(xiāng)住房建設(shè)廳網(wǎng)站廣告信息發(fā)布平臺(tái)
  • 做網(wǎng)站的費(fèi)用記哪個(gè)科目百度pc網(wǎng)頁(yè)版登錄入口
  • 怎么建小說網(wǎng)站微信crm客戶管理系統(tǒng)
  • 邢臺(tái)網(wǎng)站制作地方谷歌引擎搜索
  • jsp 做網(wǎng)站還是php北京網(wǎng)站制作推廣