MySQL数据类型定义了数据的大小范围,因此使用时选择合适的类型,不仅会降低表占用的磁盘空间,间接减少了磁盘I/O的次数,提高了表的访问效率,而且索引的效率也和数据的类型息息相关。
在建表时要根据场景 合适的选择数值类型,类型虽然看起来字节大小差不多,但如果由成千上万条数据,就会浪费很多空间。
注意:字符串类型 CHAR(M),这个括号里的数字代表所占字节数,但有时会见到这种问题,
整型类型后面加括号:
整形占用的内存大小是固定的,和具体的类型是强相关的,这个9代表的是整数显示的宽度。
age INT(9)
日期类型也是做项目过程中,经常使用的类型信息,尤其是TIMESTAMP和DATETIME两个类型,但是注意TIMESTAMP会自动更新时间,非常适合那些需要记录最新更新时间的场景,而DATETIME需要手动更新。
时间戳示例:
这两个类型,都是限制该字段只能取固定的值,但是枚举字段只能取一个唯一的值,而集合字段可以取任意个值。
示例:设置性别只能取固定值,那么输入其他的是会报错的。
sex enum(‘M’, ‘W’) default ‘M’
通配符匹配like:有两个通配符
%
_
示例:
有三个人名:
zhang san
zhang yao
zhangx
select* from where name like ‘zhang%’; // 可以匹配所有zhang开头的
select* from where name like ‘zhang_’; // 表示只能匹配zhang后面的一个字符