数据类型(列类型-时间日期类型和字符串类型)

时间日期类型


Datetime:时间日期,格式是YYYY-mm-dd HH:ii:ss,表示的范围是从1000到9999年,有0值:
0000-00-00 00:00:00
Date:日期,就是datatime中的date部分
Time:时间(段),指定的某个区间之间,负时间到正时间
Timestamp:时间戳,并不是时间戳,只是从1970年开始的YYYY-mm-dd HH:ii:ss 格式与datetime完全一致
Year:年份。两种形式,year(2)和year(4):1901-2156


创建时间日期表

插入数据:时间可以是负数,而且可以使很大的负数,

 

 

Timestamp字段:只要当前所在的记录被更新,该字段一定会自动更新成当前时间

 


网站是以PHP为实现的主要操作对象:PHP中有非常强大的时间日期处理函数:date,只需要一个时间戳就可以转换成任意类型的时间:以PHP为主的时候,都是在数据库使用时间戳(整型)来存储时间

 

 

字符串类型

 

在SQL中,将字符串类型分成了6类:char,varchar,text,blob,enum和set

定长字符串


定长字符串:char ,磁盘(二维表)在定义结构的时候,就已经确定了最终数据的存储长度

char(L):L代表length,可以存储的长度,单位为字符,最大长度值可以为255
char(4):在UTF8环境下,需要4*3=12个字节

变长字符串
变长字符串:varchar,在分配空间的时候,按照最大的空间分配:但是实际上最终用了多少,是根据具体的数据来确定
varhcar(L):L表示字符长度 理论上长度是65536个字节,但是会多出一到两个字节来确定存储的实际长度:但是实际上如果长度超过了255,既不用定长也不用变长,使用文本字符串text
varchar(10) :的确存了10个汉字,utf8环境,10*3+1=31(bytes)
存储了3个汉字:3*3+1=10(bytes)
定长与变长的存储实际空间(UTF8)
实际存储数据char(4)varchar(4)char占用字节varchar占用空间ABCDABCDABCD4*3=124*3+1=13AAA4*3=121*3+1=4ABCDE✘✘数据超过长度数据超过长度

如何选择定长或者变长字符串呢?
定长的磁盘空间比较浪费,但是效率高:如果数据基本上确定长度都一样,就使用定长,如身份证号,电话号码等
变长的磁盘空间比较节省,但是效率低;如果数据不能确定长度(不同数据有变化),如姓名,地址等

 

 

 

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/sunhao96/p/7567043.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值