2017-10-16-Mysql的常用数据类型

1.Mysql 数值类型


int 和int(5): 类型设置宽度,不满5位的保留5位的宽度,超过5位的一样。
例:设置了宽度限制后,如果插入大于宽度限制的值,会不会截断或者插不进去报错?
不会对插入的数据有任何影响,还是按照类型的实际精度进行保存,宽度格式实际已经没有意义,左边不会再填充任何的“0”字符。

auto_increment:自增长
插入的时候设为null或者指定字段,例:一张表两个字段,id是auto_increment

insert into t_user values(null,'AAA') 或者 insert into t_user(address) values('AAA')


2.Mysql 时间类型
Date:年月日
Time:时分秒
Datetime:年月日时分秒(Date+Time)
Timestamp:格式YYYY-MM-DD HH:MM:SS(和datetime一样,但是插入空值时,它会默认插入系统时间,所以又称为时间戳)
Year:年份

Datetime和Timestamp的区别:
(1)TIMESTAMP支持的时间范围较小,其取值范围从19700101080001到2038年的某个时间,而DATETIME是从1000-01-01 00:00:00到9999-12-31 23:59:59,范围更大。
(2)如果在一个TIMESTAMP列中插入NULL,则该列值将自动设置为当前的日期和时间。在插入或更新一行但不明确给TIMESTAMP列赋值时也会自动设置该列的值为当前的日期和时间,
    当插入的值超出取值范围时,MySQL认为该值溢出,使用“0000-00-00 00:00:00”进行填补。
(3)TIMESTAMP的插入和查询都受当地时区的影响,更能反应出实际的日期。而DATETIME则只能反应出插入时当地的时区,其他时区的人查看数据必然会有误差的。

(4)TIMESTAMP的属性受MySQL版本和服务器SQLMode的影响很大。



3.Mysql 字符串类型
char(4)和varchar(4)的区别:
比如插入'ab'字符串,length(char)会显示2,而length(varchar)则显示的4,所以char会自动删除尾部的空格,而varchar会保留。
enum类型:枚举类型 比如enum('A','B')
特点:(1)不区分大小写
 (2)值可以为null
 (3)可以用1234来代替值的位置,比如1代表A,2代表B
set类型:和enum很像,但是set类型是选择组合。比如set('a','b','c','d')
值为a,b  a,c a,c,d等,每个值只能出现1次,比如values('a,b,a'),显示的值为 a,b,可以为null
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值