数据类型(列类型-时间⽇期类型和字符串类型)时间⽇期类型
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✘✘数据超过长度数据超过长度
如何选择定长或者变长字符串呢?
定长的磁盘空间⽐较浪费,但是效率⾼:如果数据基本上确定长度都⼀样,就使⽤定长,如⾝份证号,电话号码等
变长的磁盘空间⽐较节省,但是效率低;如果数据不能确定长度(不同数据有变化),如姓名,地址等
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论