[MySQL学习]MySQL学习之路(三)131030:数据类型和运算符(二)

先说一下,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数据

164042452.jpg

正好现在版本已经是5.6了,尝试一下昨天出现2个Warnings的表操作

165401691.jpg

可以看到(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;

查看结果

171548602.jpg

其中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);

查看表数据

213009258.jpg

了然吗,也就是由1,2,3……代替相对应的enum的值


其他的类型就暂且不提,基本上主要的就是这些,有空闲时间了再继续写关于二进制类型的


你可能感兴趣的:(mysql数据类型,MySQL基础,Mysql学习,MySQL入门)