06 MYSQL資料型別日期字串

2021-12-30 13:15:50 字數 2898 閱讀 7614

整數型別

位元組 取值範圍

取值範圍

tinyint

有符號 -128

無符號 0

有符號 127

無符號 255

smallint

有符號 -32768

無符號 0

有符號 32767

無符號65535

mediumint

有符號 -8388608

無符號 0

有符號 8388607

無符號1677215

int,integer

有符號 -2147483648

無符號 0

有符號 2147483647

無符號 4294967295

bigint

有符號 -263

無符號 0

有符號 263-1

無符號264-1

(1)、如何選擇整數型別

整數型別和浮點數型別最大的區別在於能否表達小數。那麼我們的整數是不能表達小數的,而浮點卻可以,

不同的整數型別取值範圍不一樣,tinyint型別取值範圍0~255,如果欄位不超過255。那麼選擇tinyint就足夠了,bigint取值範圍最大,常用的都是int型別。

浮點數型別

位元組 負數的取值範圍

非負數得取值範圍

float 單精度

-3.402823466e+38~

-1.175494351e-38

0和1.175494351e-38~

3.402823466e+38

double 雙精度

-1.7976931348623157e+308~

-2.2250738585072014e-308

0和2.2250738585072014e-308~1.7976931348623157e

定點型別

位元組 描述

decimal(m,d)

m+2

最大取值範圍與double相同,給定decimal的有效取值範圍由m和d決定

(2)、如何選擇浮點數型別和定點數型別

double比float型別的精度比要高,那麼如果需要精確到小數點10位以上,那麼我們就用float型別,普通用float型別就夠了。

在mysql中,定點數的精度比浮點要高,而且,浮點數會出現誤差,如果要對資料的精度要求比較高的話,那麼應該選擇定點數。

日期和時間型別

位元組 最小值

最大值

date 年月日

1000-01-01

9999-12-31

datetime 年月日 時分秒

1000-01-01 00:00:00

9999-12-31 23:59:59

timestamp 時區對應時間

time 單獨表示時間

-838:59:59

838:59:59

year 單獨表示年

(4)如何選擇時間和日期型別

year型別只表示年份,如果單單只記錄年份那麼選擇year就ok,還可以節約空間,

time型別只表示時間,如果只需要記錄時間那麼只選擇time型別,

date型別只表示年月日,如果只需要記錄年月日,那麼只選擇date型別

如果既需要記錄年月日和時間,可以選擇datetime型別和timestamp型別,

datetime型別表示的時間範圍比timestamp的型別要大,因此,需要時間範圍比較大的選擇datetime型別比較合適,

timestamp型別的時間是根據時區來選擇的,如果需要顯示的時間與時區對應,那麼選擇timestamp型別。

字串型別

位元組 描述

char(m)

m m為0-255之間的整數

varchar(m)

m為0-65535之間的整數,值的長度為+1個位元組

tinytext

允許長度0-255位元組,值為長度+2個位元組

text

允許長度0-65535位元組,值為長度+2個位元組

mediumtext

允許長度0~167772150位元組 值為長度+3個位元組

longtext

允許長度0~4294967295位元組 值為長度+4個位元組

char(5) 比如這行實際只用了3個位元組,但是還占用5個位元組的空間,

varchar(5) 比如這行實際只用了3個位元組,它就只是占用了3個位元組的長度

text型別石一種特殊的文字串型別,text只有儲存字元資料,比如:新聞內容等。

text包含了(tinytext mediumtext,langtext)

binary(10)

varbinary(20)

儲存普通二進位制字元類串型.兩者區別和char varchar一樣,乙個占用實際位元組,乙個占用分配固定位元組。

(6)、text型別和blob型別

text型別與blob型別很類似,text只能儲存字元資料,純文字之類的。選擇text型別

blob 型別可以儲存二進位制資料,可以儲存pdf等的二進位制資料,選擇blob型別

enum 取值範圍0~65535

set 取值範圍0~64

(5)、enum 型別和set型別

enum型別可以有65535個成員,而set型別最多只能包含64個成員,兩者取值範圍只能在成員列表中選取,enum型別只能從成員當中選擇乙個,而set 型別可以選擇多個,

enum用法:那麼對於多個值當中選取乙個的話,可以選擇enum型別,比如,性別(男女)二選一

set 型別用法:比如個人愛好,可以選擇多個,那麼這個使用我們用set型別

06 MySQL的資料型別

定點數的位數更加長 使用方式 char 與 varchar 型別的區別 字串 浮點型等都可以隨意指定大小,那麼是不是平時操作的時候隨意指定乙個就可以呢?答 不是,資料型別並不是越大越好,越大的型別會造成資料臃腫,儲存空間占用過大,資料檢索也會變慢 多選一的時候使用的一種資料型別 在前端使用單選框的時...

mysql 日期減法 MySQL資料型別

資料庫中每個欄位都有適當的資料型別,用於限制或允許該字段中儲存的資料。mysql中支援三種資料型別 數值型 字串型 日期和時間型。不同的資料型別提供不同的取值範圍,可以儲存的值範圍越大,所需的儲存空間也會越大。因此應根據實際需要選擇最合適的型別,這樣有利於提高查詢的效率和節省儲存空間。數值型分為整數...

MySQL資料型別 日期時間

日談健康 2017 01 18 00 31 一 部落格前言 自接觸學習mysql已有一段時間了,對於mysql的基礎知識還是有一定的了解的。在這一路學習過來,每次不管看書還是網上看的資料,對於mysql資料型別中的時間日期型別總是一掃而過,不曾停下來認認真真的研究學習。最近在圖書館借了一本關於mys...