MySQL自学2018/05/02-数据类型
一、数值类型
1. 严格数值类型(INTEGER=INT、SMALLINT、DECIMAL=DEC、NUMERIC)
int(5):表示当数值宽度小于5位的时候在数字前面填满宽度,默认为int(11),一般配合zerofill使用
unsigned:在字段里面保存非负数。取值范围:下限取0,上限取原值的2倍。
1 alter table t1 modify id1 int(5) zerofill;
2. 近似数值数据类型(FLOAT、REAL、DOUBLE、PRECISION)
对于BIT类型,直接使用select命令不会看到结果,可以用bin()(显示为二进制格式)或者hex()(显示为十六进制格式)进行读取
1 select bin(id), hex(id) from t2;
二、日期时间类型
DATE:通常用来表示年月日
DATATIME:通常用来表示年月日时分秒
TIME:只表示时分秒
TIMESTAMP:需要经常插入或者更新日期为当前系统时间的情况。TIMESTAMP值返回后显示为“YYYY-MM-DD HH:MM:SS”格式的字符串。如果想获得数字值,应在TIMESTAMP列添加“+0”
YEAR:只表示年份
每种日期时间类型都有一个有效值范围,超出这个范围,系统会进行错误提示,并将以零值来进行储存。
1 create table t(d data, t time, dt datetime); --创建测试表 2 insert into t values(now(),now(),now()); --用now()函数插入当前时间
注:时区相关函数
1 show variables like 'time_zone'; --查看当前时区 2 set time_zone = '+9:00'; --修改时区为东九区(+9:00)
三、字符串类型
CHAR:最后的空格