四、日期和時間型別
五、字串型別
六、二進位制型別 類別
關鍵字整數型別
tinyint、smallint、mediumint、int、bigint
小數型別
float、double / decimal
日期和時間型別
year、time、date、datetime、timestamp
字串型別
char、varchar、text、enum、set、longtext等
二進位制型別
bit、binary、varbinary、blob
型別名稱
儲存長度
取值範圍
tinyint
1個位元組
0~255 或者 -127~128 (3)
smallint
2個位元組
0~65535 或者-32768~32767 (5)
mediumint
3個位元組
0~16777215 (9) 或者 -8388608~8388607 (8)
int4個位元組
0~4294967295 或者 -2147483648~2147483647 (10)
bigint
8個位元組
0~18446744073709551615 (20) 或者 -9223372036854775808~9223372036854775807 (19)
* 取值範圍是包括無符號數和有符號數。 括號中的數字是可選的mysql顯示位數範圍。例如建立乙個表乙個欄位的資料型別為tinyint,則可以
create
table man(age tinyint(3) not
null);
1.浮點數
型別名稱
儲存長度
float(m,d)
4個位元組
double(m,d)
8個位元組
2.定點數
型別名稱
儲存長度
decimal(m,d)
m + 2個位元組
* m是總位數,d是保留的小數字數。例如float(5,2),就是最多3位整數,2位小數。
* 對精度要求很高的,例如金融上的資料,建議使用decimal。
型別名稱
格式範圍
儲存長度
year
yyyy
1901~2155
1個位元組
time
hh:mm:ss
-838:59:59~838:59:59
3個位元組
date
yyyy-mm-dd
1000-01-01~9999-12-31
3個位元組
datetime
yyyy-mm-dd hh:mm:ss
1000-01-01 00:00:00~9999-12-31 23:59:59
8個位元組
timestamp
yyyy-mm-dd hh:mm:ss
1970-01-01 00:00:00 ~2038-01-19 03:14:07utc
4個位元組
* datetime和timestamp的區別乙個是儲存的時間範圍不一樣,乙個是timestamp還儲存了時區資訊,取得是==當地的標準時間==。例如在中國的時間和在美國顯示的時間就不一樣。
型別名稱
儲存長度
char(m)
m取值0~255位元組
varchar(m)
m取值0~65536位元組
longtext
0~4294967295位元組
enum
1或2個位元組,最大值65535
* 這裡列舉了使用稍微多的字串型別。mysql還有許多字串型別就不一一介紹。需要說明的是,mysql5.0以上版本的資料庫,gbk編碼的2個位元組儲存乙個漢字,utf-8是3個位元組儲存乙個漢字。
* char是固定長度,而varchar不是。因此char的處理效率大於varchar,但是會造成空間浪費。
1.blob
浮點數型別和定點數型別 ↩
MySQL資料型別簡介
其中的長度以位元組為單位 名稱 長度 用法 tinyint m bit,bool,boolean 1 如果為無符號數,可以儲存從0到255的數 否則可以儲存從 128到127的數。smallint m 2 如果為無符號數,可以儲存從0到65535的數 否則可以儲存從 32768到32767的數。me...
MySQL資料型別簡介
近來把oracle資料庫換成mysql資料庫,oracle與mysql區別如下 1.nvl ifnull 2.oracle返回的list型別傳化為map時都為大寫的關鍵字儲存,mysql是看查詢語句是大寫還是小寫 3.mysql中connect by prior語句用不來 4.等繼 mysql資料型...
mysql資料型別簡介
表型別 mysql的資料表型別很多,其中比較重要的是myisam,innodb這兩種。這兩種型別各有優缺點,需要根據實際情況選擇適合的,mysql支援對不同的表設定不同的型別。下面做個對比 myisam表型別是一種比較成熟穩定的表型別,但是myisam對一些功能不支援。myisam innodb 事...