序言:
本期我将大家认识关于 mysql 数据库中的基本数据类型的学习。通过本篇文章,我相信大家对mysql 数据类型的理解都会更加深刻。
目录
(一)数据类型分类
(二)数值类型
1、tinyint类型
2、bit类型
3、小数类型
float类型
decimal
4、字符串类型
char
varchar
char和varchar比较
日期和时间类型
enum和set
总结
首先,在我们正式的学习数据类型之前,我们需要知道有哪些数据类型在mysql数据库中。因此,接下来我首先带大家认识具体有哪些数据类型。
💨 MySQL中的数据类型可以分为以下几个主要分类:
1️⃣数值类型:
2️⃣字符串类型:
3️⃣日期和时间类型:
4️⃣ 布尔类型:
5️⃣枚举和集合类型:
6️⃣二进制类型:
7️⃣ JSON类型:用于存储和处理JSON格式的数据。
8️⃣空间数据类型:用于处理地理空间数据。
最后,我给大家整理总结了一张表,大家可以直观的去感受(对于其中红色的是需要大家掌握的,其余的等到需要用到的时候在学习不迟!!)
【小结】
这些数据类型可以根据需求在MySQL表的列定义中使用。在选择数据类型时,需要考虑存储需求、数据的精度要求、操作和计算的效率等因素。此外,MySQL还支持一些特殊的数据类型和存储引擎相关的数据类型,如GEOMETRY、POINT、XML等,可以根据具体需求选择使用。
下面是一些常用的数据类型值:
MySQL中的 TINYINT 类型是一种整数类型,用于存储小整数值,占用1个字节的存储空间。
下面是关于TINYINT类型的详解
数据范围和存储空间:
用途:
有符号和无符号:
存储方式:
💨 示例:
①创建一个TINYINT列:
②插入数据:
③查询数据:
【小结】
但是接下来,我在插入这样的数据,看最终是否还能成功的插入呢?
【说明】
②插入数据(注意范围):
③查询数据:
【注意】
【小结】 总之,TINYINT类型是MySQL中的一种整数类型,适用于存储布尔值或较小的整数。 它占用较少的存储空间,查询和计算效率高。可以根据需要选择是否使用有符号或无符号的TINYINT类型。
MySQL中的BIT类型是一种用于存储位字段(bit fields)的数据类型。
下面是关于BIT类型的详解
bit[(M)] : 位字段类型。M表示每个值的位数,范围从1到64。如果M被忽略,默认为1。
存储空间:
位数限制:
存储方式:
使用场景:
查询和计算操作:
默认值:
💨 示例:
①创建一个 bit 列:
②插入数据(注意范围):
③查询数据:
【说明】
【注意】
如果我们有这样的值,只存放 0 或 1 ,这时可以定义 bit(1) 。这样可以节省空间
【小结】
总之,BIT类型是用于存储位字段的数据类型,可以指定位数范围,并以二进制形式进行存储。
它适用于存储布尔值或位掩码,并可以使用位运算操作符进行查询和计算操作。
需要注意的是:在操作BIT类型数据时,需要使用适当的位运算操作符来处理位级别的操作。
MySQL中的FLOAT类型是一种浮点数类型,用于存储单精度浮点数。
下面是有关FLOAT类型的详解
float[(m, d)] [unsigned] : M指定显示长度,d指定小数位数,占用空间4个字节
存储范围和精度:
精度和舍入错误:
默认值:
查询和操作:
存储方式:
💨 示例1:
💨 示例2:
【小结】
1、总之,FLOAT类型是MySQL中的一种浮点数类型,适用于存储具有小数部分的数值。
2、它占用较少的存储空间,并提供了一定的范围和精度。
3、然而,在进行浮点数计算时,需要注意舍入误差和精度损失可能带来的影响。如果需要更高的精度,可以考虑使用DOUBLE类型。
MySQL中的DECIMAL类型是一种精确数值类型,用于存储固定精度的小数值
下面是关于DECIMAL类型的详解
decimal(m, d) [unsigned] : 定点数m指定长度,d表示小数点的位数
【说明】
存储空间:
精度和小数位数:
范围:
存储方式:
精确计算:
使用场景:
💨 示例:
【说明】
💨 建议:如果希望小数的精度高,推荐使用decimal。
【小结】
1、总之,DECIMAL类型是MySQL中的一种精确数值类型,用于存储固定精度的小数值。
2、它提供了精确的计算和存储,并适用于需要高精度和准确性的场景。
3、在定义DECIMAL列时,需要指定精度和小数位数,以满足具体的业务需求。
MySQL中的CHAR类型是一种固定长度的字符串类型,用于存储定长的字符数据。
下面是关于CHAR类型的详解
char(L): 固定长度字符串,L是可以存储的长度,单位为字符,最大长度值可以为255
存储空间:
长度限制:
填充空格:
查询效率:
存储方式:
使用场景:
💨 示例:
【说明】
【小结】
1、CHAR类型是MySQL中的一种固定长度字符串类型,适用于存储定长的字符数据。
2、它占用固定的存储空间,效率较高,并且适合存储长度不变的字符串。
3、在定义CHAR列时,需要指定长度以满足具体的业务需求。
MySQL中的VARCHAR类型是一种可变长度的字符串类型,用于存储可变长度的字符数据。
下面是关于VARCHAR类型的详解
varchar(L): 可变长度字符串,L表示字符长度,最大长度65535个字节
存储空间:
长度限制:
存储效率:
查询效率:
存储方式:
使用场景:
💨 示例:
【说明】
【小结】
1、总之,VARCHAR类型是MySQL中的一种可变长度字符串类型,适用于存储可变长度的字符数据
2、它根据实际存储内容的长度来占用存储空间,效率较高,并适用于存储长度不确定的字符串。
我给大家整理了一张表格帮助大家理解记忆:
如何选择定长或变长字符串?
MySQL中提供了多种日期和时间类型,用于存储日期、时间和日期时间数据
下面是关于MySQL日期和时间类型的详解
DATE类型:用于存储日期值(年、月、日),格式为'YYYY-MM-DD'。范围从'1000-01-01'到'9999-12-31'。
TIME类型:用于存储时间值(时、分、秒),格式为'HH:MM:SS'。范围从'-838:59:59'到'838:59:59'。
DATETIME类型:用于存储日期和时间值,格式为'YYYY-MM-DD HH:MM:SS'。范围从'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。
TIMESTAMP类型:与DATETIME类型类似,但范围限制为'1970-01-01 00:00:01'到'2038-01-19 03:14:07'。通常用于记录某条数据的创建或修改时间。
YEAR类型:存储年份值,格式为'YYYY'。范围从1901到2155。
INTERVAL类型:用于表示时间间隔或时间差,可以与日期或时间类型相加或相减。
💨 示例:
【小结】
1、MySQL提供了多种日期和时间类型,可根据具体需求选择合适的类型来存储日期、时间和日期时间数据。
MySQL中的ENUM和SET类型是用于存储具有固定取值的数据的列类型
下面是关于ENUM和SET类型的详解
enum:枚举,“单选”类型; enum('选项1','选项2','选项3',...);
【说明】
set:集合,“多选”类型; set('选项值1','选项值2','选项值3', ...);
【说明】
说明:不建议在添加枚举值,集合值的时候采用数字的方式,因为不利于阅读。
💨 示例:
有一个调查表 votes ,需要调查人的喜好, 比如(登山,游泳,篮球,武术)中去选择 ( 可以多选 ) , (男,女)[ 单选 ]mysql> select find_in_set('a', 'a,b,c'); +---------------------------+ | find_in_set('a', 'a,b,c') | +---------------------------+ | 1 | +---------------------------+ mysql> select find_in_set('d', 'a,b,c'); +---------------------------+ | find_in_set('d', 'a,b,c') | +---------------------------+ | 0 | +---------------------------+
查询爱好登山的人:
以上便是mysql数据类型的全部知识。感谢大家的支持与观看!!!