MySQL 是一种广泛使用的关系型数据库管理系统,它支持多种数据类型,用于存储和处理不同类型的数据,通过Mysql官网学习整理的数据类型如下:
根据表格图片可以了解到对应的数据类型及对应地使用场景,在使用过程中字段选择合适的数据类型也很重要。
其中字节大小可变和固定的数据类型部分是能指定⻓度的,如DECIMAL(10,2) 、 VARCHAT(16)、CHAR(32),可以根据实际使用的⻓度再往上加大一点设置一个范围。
而 TEXT、BLOB、JSON 三种数据类型是不能指定⻓度的,表结构里直接指定字段为该类型即可,但也不建议在这单个字段上存储过⻓信息,会影响查询性能。
最后再提一下 CHAR 和 VARCHAR 的区别,主要有如下几点:
- 存储方式:对于VARCHAR,实际存储的数据⻓度可以根据存储的内容进行调整,只占用实际使用的字节空间。而对于CHAR,它会根据定义的⻓度固定占用相应的字节空间,不论实际存储的数据⻓度是多少。
- 查询效率:CHAR查询性能可能会稍微快于VARCHAR,由于CHAR是固定⻓度的,数据库引擎可以更容易地计算和预测每行数据的位置。
- 适用场景:VARCHAR适用于存储可变⻓度的字符串数据,如用户名、地址等。它能够更有效地使用存储空间,并且适用于存储⻓度不固定的数据。而CHAR适用于存储⻓度固定的字符串数据,如国家代码、固定⻓度的标识符等,它可以提供更一致的存储空间和查询性能。