mysql bolb取值 MySQL欄位的取值範圍

2021-10-17 20:04:59 字數 2208 閱讀 7066

設計資料庫的時候會為表中涉及到的字段設定乙個範圍,如果不考慮這個取值範圍可能會對未來的運營產生或者效能問題或者資料問題。如果實際的取值大於設計的取值則會造成資料無效或丟失導致程式出錯,如果實際的取值小於設計的取值雖然不會對程式產生什麼錯誤,但會白白的浪費儲存空間導致效能問題。

mysql的字段包括:

tinyint、smallint、mediumint、int、integer、bigint。

float、double、double precision、real、decimal[(m,[d])]、numeric(m,d)。

date、datetime、timestamp、 time、year[(2|4)]。

char(m) [binary]、nchar(m) [binary]、[national] varchar(m) [binary]、tinyblob、tinytext、blob、text、mediumblob、mediumtext、longblob、longtext。

enum、set。

列表顯示一下它們的取值範圍,常備常查^_^

tinyint

-128 至 127

tinyint unsigned

0 – 255

smallint

-32768 至 32767

smallint unsigned

0 至 65535

mediumint

-8388608 至 8388607

mediumint unsigned

0 至 16777215

int 或 integer

-2147483648 至 2147483647

int unsigned 或 integer unsigned

0 至 4294967295

bigint

-9223372036854775808 至 9223372036854775807

bigint unsigned

0 至 18446744073709551615

float

-3.402823466e+38 至 -1.175494351e-38

1.175494351e-38 – 3.402823466e+38

double 或 double precision 或 real

-1.7976931348623157e+308 – -2.2250738585072014e-308

2.2250738585072014e-308 – 1.7976931348623157e+308

decimal[(m,[d])] 或 numeric(m,d)

由m(整個數字的長度,包括小數點,小數點左邊的位數,小數點右邊的位數,但不包括負號)和d(小數點右邊的位數)來決定,m預設為10,d預設為0

date

1000-01-01 至 9999-12-31

datetime

1000-01-01 00:00:00 至 9999-12-31 23:59:59

timestamp

1970-01-01 00:00:00 至 2023年的某天

time

-838:59:59′ 至 838:59:59

year[(2|4)]

預設為4位格式,4位格式取值範圍為1901 至 2155,0000,2位格式取值範圍為70-69(1970-2069)

char(m) [binary] 或 nchar(m) [binary]

m的範圍為1 至 255,如果沒有binary項,則不分大小寫,nchar表示使用預設的字符集.在資料庫中以空格補足,但在取出來時末尾的空格將自動去掉.

[national] varchar(m) [binary]

m的範圍為1 至 255.在資料庫中末尾的空格將自動去掉.

tinyblob 或 tinytext

255(2^8-1)個字元

blob 或 text

65535(2^16-1)個字元

mediumblob 或 mediumtext

16777215 (2^24-1)個字元

longblob 或 longtext

4294967295 (2^32-1)個字元

enum(『value1′,』value2′,…)

可以總共有65535個不同的值

set(『value1′,』value2′,…)

最多有64個成員

標籤:mysql, 字段, 開發, 資料庫

mysql bolb取值 一文了解Mysql

什麼是資料庫?資料庫中的幾個基本術語?mysql中innodb引擎支援的4種事務隔離級別 mysql中如何使用enum?mysql中的儲存引擎 mysql中char與varchar的區別?主鍵和候選鍵的區別?blob和text的區別?mysql中的鎖 資料庫三正規化 什麼是資料庫?資料庫其實顧名思義...

mysq比較時間

在oracle中使用時間函式to date習慣了,在oracle中時間的加減也非常簡單,直接加減即可。在mysql中時間的函式很多,非常自由。在專案中經常用到的就是時間的加減。比如60天前,oracle中直接就是sysdate 60,mysql中就不行。對時間加減的函式是 加adddate 減sub...

mysq基礎優化

skip name resolve skip locking skip innodb skip bdb key buffer 1g記憶體推薦設定為256m,2g記憶體推薦設定為512m wait timeout 3或者5 2g記憶體推薦設定為5 max connections 如果訪問量很大可以設定...