數值型
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...