mysql學習筆記(一)mysql數據類型

mysql的數據類型包括整數類型,浮點數類型,定點數類型,日期和時間類型,字符串類型和二進制數據類型。mysql

1.整數類型:sql

整數類型是數據庫中最基本的數據類型,mysql共支持6種整數類型,分別是:數據庫

 

整數類型 字節數(byte)
tinyint 1
smallint 2
mediumint 3
int 4
integer 4
bigint 8

其中1byte=8bit,由此能夠算出每一個整數類型的取值範圍,例如int,共有4byte=32bit,那麼無符號的取值範圍爲2^8-1ide

mysql 支持數據類型的名稱後面跟上指定該類型的顯示寬度。形勢以下:spa

數據類型(顯示寬度)ci

在整數類型中,能夠使用zerofill參數,來補全數字顯示不足的空間字符串

2.浮點數類型,定點數類型it

浮點數類型用來表示小數,包括float型和double型。定點數類型就是decimal型。table

 

數據類型 byte
float 4
double 8
decimal(m,d) m+2

m是精度,表示數據類型的總長度,小數點不佔位class

d是標度,表示小數點後面的長度。

若是插入值的精度高於實際定義的精度,系統會自動進行四捨五入處理,float和double四捨五入時不會報錯,而decimal則會有警告。

3.日期與時間型

 

數據類型 字節數  
year 1  
date 4  
time 3  
datetime 8  
timesamp 4  
     

每種日期和時間都有一個有效的範圍,其中

year :1901~2155

year還能夠用兩位數表示,‘00’~69’轉換爲2000~2069,‘70’~‘99’轉換成1970~1999,‘0’和‘00’的效果是同樣的。可是,2位數字跟2位字符串的效果是不同的,若是輸入數字0則轉換爲0000,若是輸入字符串‘0’則會轉換成2000

time:-838:59:59~838:59:59

time顯示類型hh:mm:ss。 也支持 ‘d  hh:mm:ss ’,d表示天數,取值範圍是0~34。例如 ‘2 10:00:00’會被轉換成 58:00:00;一樣支持hhmmss格式的字符串或者數字來表示。
time支持用current_time 或者now()來輸入當前系統時間

date:1000-01-01 ~ 9999-12-31

date用四個字節表示日期,yyyy-mm-dd 或者yyyymmdd,mysql還支持不嚴格的語法格式,任何標點均可以用來作間隔符。一樣支持用current_time 或者now()來輸入當前系統時間。

datetime:1000-01-01 00:00:00 ~ 9999-12-31 23:59:59

timestamp:1970-01-01 00:00:00 ~ 2038-12-31 23:59:59

timestamp表示的時間範圍比較小,有一些特殊的形式1)使用current_timestmap 輸入系統當前日期與時間;2)輸入NULL,無任何輸入時都會輸入系統當前日期與時間。

4.字符串類型:

char varchar blob text enum set

char與varchar,都在類型建立的時候就指定最大長度形式爲:
字符串類型(M)
char 的長度是固定的,指定了長度,就佔指定的bit
varchar的長度是可變的,建立表時定義的是最大長度,實際佔用的空間爲字符串的實際長度+1

text

text類型包含tinytext text mediumtext longtext 存儲空間都是值的長度+2個字節

enum 枚舉類型,其基本形式以下:

屬性名 emun(‘值1’,‘值2’,……)
屬性指的是字段的名稱。若是列表中只能選取一個值,就能夠選用emun類型,若是要選取列表中的多個值,則能夠選擇set類型。

set

屬性名 set(‘值1’,‘值2’,……)
取多個元素時,能夠用逗號隔開,set最多隻能是64個元素的組合,列表中每一個值都有一個順序排列的編號。mysql存入是的這個編號,而不是列表中的值。

5.二進制類型

暫時省略,寫不下去啦!

相關文章
相關標籤/搜索