1、数值类型
1、整型 1、int 大整型(4个字节) 取值范围 :0 ~ (2**32 - 1(42亿多)) 2、tinyint 微小整型(1个字节) 1、有符号(signed默认) : -128 ~ 127 2、无符号(unsigned) : 0 ~ 255 例子:age tinyint unsigned, 3、smallint 小整型(2个字节) 4、bigint 极大整型(8个字节) 2、浮点型 1、float(4个字节,最多显示7个有效位,如果超过7的话,不会报错,但存进去的数在第7位之后会不正确) 1、用法 字段名 float(m,n) m->总位数 n->小数位位数 float(5,2)取值范围? -999.99 ~ 999.99 2、double(8个字节) 字段名 double(m,n) 3、decimal(最多显示28个有效位) 1、decimal(m,n) 2、存储空间(整数、小数分开存储) 规则:将9的倍数包装成4个字节 余数 字节 0 0 1-2 1 3-4 2 5-6 3 7-9 4 例:decimal(19,9) 一个浮点型为10为整数,9位小数: 整数部分:10/9=1余1 4字节+1字节 = 5字节 小数部分:9/9=0 4字节+0字节 = 4字节 总共占有:5字节 + 4字节 = 9字节2、字符类型
1、char(定长) 1、取值范围:1~255 2、varchar(变长) 1、取值范围:1~65535 3、text / longtext(4G) / blob / longblob(4G) 4、char和varchar的特点 1、char :浪费存储空间,性能高 2、varchar :节省存储空间,性能低 5、字符类型的宽度和数值类型宽度的区别 1、数值类型宽度为显示宽度,只用于select查询是显示, 和占用存储无关,可用zerofill查看效果。 2、字符类型的宽度超过后无法存储3、枚举类型
1、单选enum sex enum(值1, 值2,.....) 2、多选set likes set(值1, 值2,....)
4、日期时间
1、日期时间类型 1、date :"YYYY-MM-DD" 2、time :"HH:MM:SS" 3、datetime :"YYYY-MM-DD HH:MM:SS" 4、timestamp :"YYYY-MM-DD HH:MM:SS" 5、注意 1、datetime :不给值默认返回NULL值 2、timestamp :不给值默认返回系统当前时间 2、日期时间函数 1、now() 返回服务器当前时间 2、curdate() 返回当前日期 3、curtime() 返回当前时间 4、year(date) 返回指定时间的年份(年) 5、date(date) 返回指定时间的日期(年月日) 6、time(date) 返回指定时间的时间(时分秒)3、日期时间运算
1、语法格式 select * from 表名 where 字段名 运算符 (时间-interval 时间间隔单位); 时间间隔单位: 1 day | 2 hour | 1 minute | 2 year | 3 monthmysql> select * from t2 where cztime >= (now()-interval 1 day); #1天以内+------+----------+----------+-------+------------+---------------------+| id | username | password | money | birthday | cztime |+------+----------+----------+-------+------------+---------------------+| 1 | 用户1 | 123456 | 500 | 1996-10-06 | 2018-08-30 09:50:30 || 1 | 用户2 | 123456 | 500 | 1996-10-06 | 2018-08-30 09:55:03 |+------+----------+----------+-------+------------+---------------------+2 rows in set (0.00 sec)mysql> select * from t2 where cztime <= (now()-interval 1 day); #1天以前+------+----------+----------+-------+------------+---------------------+| id | username | password | money | birthday | cztime |+------+----------+----------+-------+------------+---------------------+| 3 | 用户3 | 123456 | 800 | 1990-03-03 | 2018-07-02 09:08:00 || 4 | 用户4 | 123456 | 666 | 2018-07-02 | 2018-07-02 09:10:00 |+------+----------+----------+-------+------------+---------------------+2 rows in set (0.00 sec)