先说一下,MySQL5.6终于他买的装好了,主要是前面MySQL5.1没有卸载干净,导致MySQL5.6一直在读取old文件,表示很感谢CU论坛的网友,要不是他我真的是要僵死在这了。
昨天之所以只进行了一点点也是因为升级的问题导致进度很慢,今天继续...
接着昨天的来(-____,-)。。。
(三)日期与时间类型
5.TIMESTAMP
建立表tmp7,timestamp与datetime很相似,显示固定为19个字节,但只用4个字节存储。范围是'1970-01-01 00:00:01'~'2038-01-19 03:14:07'
mysql> create table tmp7 ( ts timestamp ); mysql> insert into tmp7 values('20131030163300'), ('131030163300'), ('2013-10-30 16:33:00'), ('13@10@30 16@33@00'), (131030163300), (now());
查看表tmp7数据
正好现在版本已经是5.6了,尝试一下昨天出现2个Warnings的表操作
可以看到(13-10-30)这种方式不适合数字存储,而是用now()来获取系统时间,应该是有数据丢失产生warning,日期与时间类型就到这。
(四)字符串类型
字符串类型分为char,varchar,binary,varbinary,blob,text,enum,set。
创建一个新表tmp9,插入char(4)和varchar(4),比较两者的不同ate
mysql> create table tmp8 ( ch char(4), vch varchar(4) ); mysql> insert into tmp8 values('ab ','ab '); mysql> select concat('(',ch,')'),concat('(',vch,')') from tmp8;
查看结果
其中char类型的ch显示时将尾部的两个空格删除,而varchar类型的vch显示依然将空格带上。char类型我们定义的是4字节,所以无论保存的数据都占用4字节保存,其范围是1~255字节。而varchar则根据数据的字节数来定义他的保存大小,其数值为‘字节数+1’,最后一个字节保存字符串结束符,范围是1~255字节。
ENUM则是枚举类型,字符串对象,最多有65535个元素
建立一个新表tmp9,枚举的数据有'excellent','good','bad'
mysql> create table tmp9(soc int, level enum('excellent','good','bad')); mysql> insert into tmp9 values(70,'good'),(90,1),(75,2),(50,3);
查看表数据
了然吗,也就是由1,2,3……代替相对应的enum的值
其他的类型就暂且不提,基本上主要的就是这些,有空闲时间了再继续写关于二进制类型的