mysql支援多種型別,常用的主要有三類:數值、日期/時間和字串(字元)型別。
型別大小
範圍(有符號)
範圍(無符號)
用途tinyint
1 位元組
(-128,127)
(0,255)
小整數值
smallint
2 位元組
(-32 768,32 767)
(0,65 535)
大整數值
mediumint
3 位元組
(-8 388 608,8 388 607)
(0,16 777 215)
大整數值
int或integer
4 位元組
(-2 147 483 648,2 147 483 647)
(0,4 294 967 295)
大整數值
bigint
8 位元組
(-9 233 372 036 854 775 808,9 223 372 036 854 775 807)
(0,18 446 744 073 709 551 615)
極大整數值
float
4 位元組
(-3.402 823 466 e+38,-1.175 494 351 e-38),0,(1.175 494 351 e-38,3.402 823 466 351 e+38)
0,(1.175 494 351 e-38,3.402 823 466 e+38)
單精度 浮點數值
double
8 位元組
(-1.797 693 134 862 315 7 e+308,-2.225 073 858 507 201 4 e-308),0,(2.225 073 858 507 201 4 e-308,1.797 693 134 862 315 7 e+308)
0,(2.225 073 858 507 201 4 e-308,1.797 693 134 862 315 7 e+308)
雙精度 浮點數值
decimal
使用二進位制格式儲存
decima
值,具體依賴於m和d的大小
依賴於m和d的值
依賴於m和d的值
小數值1、選用哪種型別
2、著重說下bigint(m) m的含義
bigint(m) 這個m代表顯示寬度,整數列的顯示寬度與mysql需要用多少個字元來顯示該列數值,與該整數需要的儲存空間的大小都沒有關係,比如,不管設定了顯示寬度是多少個字元,bigint都要占用8個位元組。
個人認為:超出範圍的m是沒有意義的 比如tinyint最大值(127,255)為3,tinyint(4)並沒有什麼意義3、 decimal
m是表示有效數字數的精度。m範圍為1〜65。
d是表示小數點後的位數。 d的範圍是0~30。mysql要求d小於或等於(<=)m。
mysql分別為整數和小數部分分配儲存空間。 mysql使用二進位制格式儲存decimal值。它將9位數字包裝成4個位元組。
對於每個部分,需要4個位元組來儲存9位數的每個倍數。剩餘數字所需的儲存如下表所示
剩餘數字
位元組
0
0
1–2
1
3–4
2
5–6
3
7-9
4
例如,decimal(19,9)對於小數部分具有9位數字,對於整數部分具有19位= 10位數字,小數部分需要4個位元組。 整數部分對於前9位數字需要4個位元組,1個剩餘位元組需要1個位元組。decimal(19,9)列總共需要9個位元組。
字串型別指char、varchar、binary、varbinary、blob、text
型別大小
用途char
0-255位元組
定長字串
varchar
0-65535 位元組
變長字串
tinyblob
0-255位元組
不超過 255 個字元的二進位制字串
tinytext
0-255位元組
短文本字串
blob
0-65 535位元組
二進位制形式的長文字資料
text
0-65 535位元組
長文字資料
mediumblob
0-16 777 215位元組
二進位制形式的中等長度文字資料
mediumtext
0-16 777 215位元組
中等長度文字資料
longblob
0-4 294 967 295位元組
二進位制形式的極大文字資料
longtext
0-4 294 967 295位元組
極大文字資料
1、char和varchar的區別
2、
varchar和text、blob型別的區別
型別大小 (位元組)
範圍格式
用途date
31000-01-01/9999-12-31
yyyy-mm-dd
日期值time
3'-838:59:59'/'838:59:59'
hh:mm:ss
時間值或持續時間
year
11901/2155
yyyy
年份值datetime
81000-01-01 00:00:00/9999-12-31 23:59:59
yyyy-mm-dd hh:mm:ss
混合日期和時間值
timestamp
41970-01-01 00:00:00/2038
結束時間是第 2147483647 秒,北京時間 2038-1-19 11:14:07,格林尼治時間 2023年1月19日 凌晨 03:14:07
yyyymmdd hhmmss
混合日期和時間值,時間戳
mysql選擇字段 mysql欄位型別如何選擇
本文主要和大家分享mysql欄位型別如何選擇。希望能幫助到大家。盡量少的佔據儲存空間 整型 時間型別 選擇準確的型別 型別含義time 時分秒 datetime 年月日 時分秒 year 年份 date 年月日 timestamp 時間戳 1970 1 1到現在經歷的秒數 資料的整合最好固定長度 c...
mysql欄位型別解析 MySQL欄位型別最全解析
前言 要了解乙個資料庫,我們必須了解其支援的資料型別。mysql 支援大量的字段型別,其中常用的也有很多。前面文章我們也講過 int 及 varchar 型別的用法,但一直沒有全面講過字段型別,本篇文章我們將把字段型別一網打盡,講一講常用字段型別的用法。常用的字段型別大致可以分為數值型別 字串型別 ...
mysql密碼字段型別 MySQL欄位型別最全解析
前言 要了解乙個資料庫,我們必須了解其支援的資料型別。mysql 支援大量的字段型別,其中常用的也有很多。前面文章我們也講過 int 及 varchar 型別的用法,但一直沒有全面講過字段型別,本篇文章我們將把字段型別一網打盡,講一講常用字段型別的用法。常用的字段型別大致可以分為 數值型別 字串型別...