mysql的列型別是 mysql 三大列型別

2021-10-18 07:29:02 字數 1531 閱讀 5156

數值型

1.整型

tinyint

佔據空間:1個位元組,儲存範圍:-128-127,0-255

乙個位元組  8個位

0000 0000 -1111 1111

0   ->  2的8次方-1=255

0 000000-0 1111111

0->127

1  000000-1 1111111

0->-127

-127->127

二進位制補碼的問題

如上理解的話,+0,-0重複了,浪費了一種可能性

因此計算機中的負數,不是照著「後面的絕對值位乘-1得到的」

而是用補碼換算的

負數=絕對值位-128(絕對值位為去掉符號位後的值)

smallint

佔據空間:2個位元組,儲存空間:-32768-32767,0-65535

mediuint

intbigint

zerofill零填充

2.小數型

float(m,d)   decimal(m,d)

m 叫「精度」,代表「總位數」    d叫「標度」,代表「小數字」

如float(6,2) 可表示-9999.99 -> +9999,99

浮點數占多大空間呢

答: 如果m<=24,佔四個位元組,否則佔8個位元組

用來表示數學中的小數,除了float ->浮點

還有一種叫定點decimal,定點是把整數部分,和小數部分,分開儲存的,比float 精確

當小數點後位數較多時,float會損失精度

如果資料要求比較精確,應該使用decimal

2.字元型

char

稱為定長,對於char(n) ,不夠n個長度,用空格補齊,浪費了尾部,取出時,再把後面的空格去掉

varchar

稱為變長,對於varchar(n),不用補齊,但是列內容前有1-2個位元組,來標誌該列內容的長度

速度上:定長速度快

注意:char(m) 與varchar(m) 限制的是字元,不是位元組

text

文字型別,可以存較大的文字段,搜尋速度稍慢

一般用來儲存文章內容,新聞內容等

宣告text列時 ,不必給預設值

blob

是二進位制型別,用來存放影象,音訊等二進位制資訊

blob在於防止因為字符集的問題導致資訊丟失

3.時期時間型別

date  日期  0000-00-00   3個位元組

time   時間  00:00:00  3個位元組

datetime  日期時間型別   0000-00-00 00:00:00   8個位元組

year 年份     0000      1個位元組   範圍:1901-2155  如果錯誤,存入2023年

create table m4-> ( ts timestamp defaultcurrent_timestamp->,-> id int

-> )engine myisam charset utf8;

timestamp

獲取當前時間

mysql列型別 mysql欄位型別

mysql欄位型別 mysql支援多種型別,大致可以分為三類 數值 日期 時間和字串 字元 型別。數值型別 型別大小範圍 有符號 範圍 無符號 用途 tinyint 1 位元組 128,127 0,255 小整數值 smallint 2 位元組 32 768,32 767 0,65 535 大整數值...

MySQL的列型別

tinyint 迷你整型,系統採用乙個位元組來儲存的整型,乙個位元組 8位,最大的表示值是0 255 smallint 小整型,系統採用兩個位元組來儲存的整型,能表示0 65535之間mediumint 中整型,系統採用3個位元組來儲存的整型int 標準整型,系統採用4個位元組來儲存資料bigint...

mysql基礎 mysql列型別

mysql基礎 mysql列型別 字串 char 這是char 1 的同義詞。national varchar m binary 變長字串。m 表示最大列長度。m的範圍是0到65,535。varchar的最大實際長度由最長的行的大小和使用的字符集確定。最大有效長度是65,532位元組 注釋 mysq...