mysql學習 列型別的引數問題

2021-10-03 14:54:58 字數 1866 閱讀 6535

一、整型系列

int (n) unsigned zero fill

n和zerofill搭配使用,意思是補0的寬度,(身份證/學號)

unsigned表示儲存的資料是正數,沒有符號

插入snum是12的一行資料

二、浮點/定點型

float和decimal的區別:定點decimal是把乙個數的小數部分和整數部分分開儲存,比float更加更加精確。像賬戶這樣的敏感數字,建議用decimal儲存。

float(a,b)

a:精度,小數的總位數

b:標度,小數點右邊的個數

float(6,2):-9999.99~9999.99

mysql預設浮點數有符號,無符號時須定義

浮點數所佔位元組:如果標度<24,佔據4個位元組,否則佔8個位元組

三、字串型

1、char和varchar

char(m):定長,如果引數是m,即寬度是m,實際儲存的字元i<=m,但是就算是儲存的字元小於m,字元實際所佔據的空間也是m。當不夠m個字元時,內部用空格補齊,取出時再把右側空格刪掉,這意味這右側本身有空格,取出時會丟失。

varchar(m):變長,如果引數是m,則可以儲存的字元是m。如果實際存的字元是i,則實際佔據的空間是:i字元+(1~2)個位元組。多餘的位元組用來標誌字元長度。

char(m)比varchar(m)查詢速度更快

char和varchar限制的是字元,不是位元組,即char(2) utf8,能存兩個utf8字元,比如『中國』。

2、text

text無預設值,可以存比較大的文字段,但是搜尋速度稍慢,因此,如果不是特別大的文字內容,建議用char和varchar代替。

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

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

四、時期&時間型

date :標準格式是yyyy-mm-dd

範圍是1000-01-01到9999-12-31

設定是預設值為『1000-01-01』

time:標準格式是hh:mm:ss

範圍是-838:59:59到838:59:59

datetime:標準格式是yyyy-mm-dd hh:mm:ss

範圍是1000-01-01 00:00:00到9999-12-31 23:59:59

year:標準格式yyyy

範圍是1901~2155,還可以存2023年

MySQL的列型別

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

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

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

mysql列型別 列約束

mysql伺服器端資料的邏輯結構 server database table row column 1.常用的sql語句 1 增 insert into 表 values 值,值,2 刪 delete from 表 3 改 update 表 set 列 值,列 值 4 查 select from 表...