5.4 數據庫數據類型

數據庫數據類型

數字(默認是有符號的)

整型:

  tinyint(小整型):一個字節數據庫

  int(整型):  四個字節。注意:int的 寬度指的是顯示的寬度,與存儲無關spa

有符號: -21474836482147483647
無符號:04294967295

  bigint(大整形):八個字節code

有符號:-92233720368547758089223372036854775807
無符號: 018446744073709551615

小數:

  float:在位數比較短的狀況下不精準(**** 數值越大,越不許確 ****)blog

  double:在位數比較長的狀況下不精準(**** 數值越大,越不許確 ****)ci

  decimal:若是是小數,則推薦使用decimalrem

      由於精準,內部原理是以字符串的形式去存字符串


最後:  整形類型,其實沒有必要指定顯示寬度,使用默認的就oktable

字符

char:

  固定長度,不夠就用空格湊夠固定長度存放起來,
  浪費空間,可是存儲速度快



varchar:

  不固定長度,
計算出待存放數據的長度,
  精準,節省空間,存取速度慢
 

日期

datetime:class

  2017-09-06 10:30:22原理

date:

  2017-09-06

time:

  10:30:22

year:

  2017

timeatamp:

  和datatime是同樣的,就是支持的範圍datatime的大

枚舉與集合

使用場景:

  單選框,多選框

enum枚舉:

  規定一個範圍:這個範圍能夠有多個,可是爲該字段傳值時,只能取規定範圍內的其中一個

  enum若是你不傳值,默認是第一個值,或者爲NUll

set集合:

  規定一個範圍:這個範圍能夠有多個,可是爲該字段傳值時,能夠取規定範圍內的一個或多個

----------枚舉和集合-----------
create table stu1(
id int primary key auto_increment,
name char(5),

sex enum(
'male','female'),   #enum 表明枚舉類型 hobbies set('eat','play','study','coding')   #set 表明集合類型 );
insert into stu1(name,sex,hobbies) values('haiyan','none','dsfdg');

select * from stu1;    #若是設置了sex是枚舉類型,就的從設定的裏面選其中的一個存 insert into stu1(name,sex,hobbies) values('haiyan','female','play,study'); select * from stu1;    #若是設置了hobbies是集合類型,就得從設定的裏面選其中一個或者多個值來存
相關文章
相關標籤/搜索