码迷,mamicode.com
首页 > 数据库 > 详细

5.4 数据库数据类型

时间:2019-01-31 23:44:24      阅读:336      评论:0      收藏:0      [点我收藏+]

标签:长度   使用   val   整型   单选   推荐   big   速度   多个   

 

数字(默认是有符号的)

整型:

  tinyint(小整型):一个字节

  int(整型):  四个字节。注意:int的 宽度指的是显示的宽度,与存储无关

有符号: -21474836482147483647
无符号:04294967295

  bigint(大整形):八个字节

有符号:-92233720368547758089223372036854775807
无符号: 018446744073709551615

 

 

 

小数:

  float:在位数比较短的情况下不精准(**** 数值越大,越不准确 ****)

  double:在位数比较长的情况下不精准(**** 数值越大,越不准确 ****)

  decimal:如果是小数,则推荐使用decimal

      因为精准,内部原理是以字符串的形式去存

 

 
最后:  整形类型,其实没有必要指定显示宽度,使用默认的就ok

 

 

 

字符

char:

  固定长度,不够就用空格凑够固定长度存放起来,
  浪费空间,但是存储速度快



varchar:

  不固定长度,
计算出待存放数据的长度,
  精准,节省空间,存取速度慢
 

 

 

日期

datetime:

  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是集合类型,就得从设定的里面选其中一个或者多个值来存

 

 

5.4 数据库数据类型

标签:长度   使用   val   整型   单选   推荐   big   速度   多个   

原文地址:https://www.cnblogs.com/shijieli/p/10344397.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!