什麼是資料型別?
資料型別是指資料列、儲存過程引數、表示式和區域性變數的資料特徵,它決定了資料的儲存格式,代表了不同的資訊型別。
如何選擇資料型別?
根據資料的需要選擇資料型別。
tinyint 有符號值:-128-127 位元組:1
無符號值:0-255
smallint 有符號值:-2*15到2*15-1 位元組:2
無符號值:0到2*16-1
mediumint 有符號值:-2*23到2*23-1 位元組:3
無符號值:0到2*24-1
int 有符號值:-2*31到2*31-1 位元組:4
無符號值:0到2*32-1
bigint 有符號值:-2*63到2*63-1 位元組:8
無符號值:0到2*64-1
mysql中使用浮點數和定點數來表示小數。
1、浮點數型別:
float[(m,d)] 位元組:4
m(精度=整數字數+小數字數);小數點之前的位數加上小數點之後的位數之和;d(標度)是小數點後的位數
double[(m,d)] 位元組:8
2、定點數型別:
decimal[(m,d)] 用來存放要求精度比較高的數值
如:乙個圖書借閱管理系統:
業務需求:
圖書管理系統主要提供圖書資訊和讀者基本資訊的維護和借閱等功能;
讀者借閱圖書的押金為200 ,讀者賬戶餘額不能低於200元,每借閱一本圖書為圖書**的5%。
資料需求:
圖書類別表
圖書資訊表
讀者資訊表
借閱資訊表
表中的資料有數字、字串、日期等
列型別位元組數
取值範圍
表示形式
year
11901~2155
yyyy
time
3-838:59:59~838:59:59
hh:mm:ss
date
41000-01-01~9999-12-31
yyyy-mm-dd
datetime
81000-01-01 00:00:00~9999-12-31 23:59:59
yyyy-mm-dd hh:mm:ss
timestamp
419700101080001~20380119111407
yyyy-mm-dd hh:mm:ss
timestamp時間戳,範圍比datetime小
2、varchar(m)是變長型別,儲存需求:l+1個位元組,其中l<=m且0<=m<=65535,m是最大位元組
注意:乙個位元組可以儲存乙個漢字
text 直接儲存乙個比較大的文字
包括tinytest 儲存需求:0~2^8-1
test 儲存需求:0~2^16-1
mediumtest 儲存需求:0~2^24-1
longtest 儲存需求:0~2^32-1
3、列舉型別:取值範圍在建立表時以列表的形式給出
enum(『value1』,『value2』,…) 儲存需求:取決於列舉值的個數(最多65535個值)eg:enum('男『,『女』)
4、set(『value1』,『value2』,…) 儲存需求:取決於set成員的個數(最多64個成員)
如果只能選擇列表中的乙個則用enum型別,選擇列表中多個值的組合則用set型別。
MySQL 資料型別 二
mysql有三大類資料型別,分別為數字 日期 時間 字元串,這三大類中又更細緻的劃分了許多子型別 2 日期和時間 date time datetime timestamp year 3 字串型別 1.1 整型 mysql資料型別 含義 有符號 tinyint m 1個位元組 範圍 128 127 s...
mysql(二) 資料型別
1 整型 mysql資料型別 含義 有符號 tinyint m 1個位元組 範圍 128 127 smallint m 2個位元組 範圍 32768 32767 mediumint m 3個位元組 範圍 8388608 8388607 int m 4個位元組 範圍 2147483648 214748...
MySql學習(二)Mysql資料型別(挺重要的)
概要 1 介紹mysql中常用的資料型別 2 資料型別選擇的建議mysql 的資料型別 後面的數字表示位元組數 m 為該值的總共長度,d 小數後面的位數 1 型別 n 說明 在開發中,我們會碰到有些定義整型的寫法是int 11 這種寫法我感覺在開發中沒有什麼用途,不過還是要說一下,對於int 11 ...