MySQL支持的数据类型与运算符(全面解析)


1、数值类型

1.1、整数类型

~ 注意INT与INTEGER是表示同一种数据类型。
请添加图片描述

查看INT类型
1.m:指定了INT型数据显示的宽度。
2.UNSINGNED值的:无符号修饰符规定字段的值只能保存正整数。
3.ZEROFILL:零填充修饰符规定可以用0(不是空格)来填补输出的值。可以阻止mysql数据库存储负值。
在这里插入图片描述

1.2、浮点数和定点数类型

从表中我们可以看出BOUBLE类型的精度比FLOAT高。
请添加图片描述

查看DOUBLE类型(un与ze都在上述讲过,此处重点(M,D))
~1.(M,D):m表示浮点数加类型中数组总个数,d表示小数点后数字的个数。
~2. m的范围0~255.FLOAT只能保证6位有效数字的准确性,DOUBLE可以16个。
~3.D的范围0~30,提示必须满足D<=M,否则报错
在这里插入图片描述

1.3、定点数类型

定点数类型在数据库中以字符串形式存储,因此是精确值。
请添加图片描述

查看DECIMAL数据类型
1.DECIMAL类型的M默认值为10,D默认值0
2.M的取值范围1~65,去0时会被设为默认值10,超出范围报错
3.D的取值范围0~30,同时必须满足D<=M,否则报错
在这里插入图片描述

1.4、B I T类型

mysql5.0以前,BIT与TINYINT表示同一种数据类型。
请添加图片描述

查看BIT数据类型
1.m的范围1~64,如果没指定m这默认值为1。如BIT(1)的取值范围只有0,1;BIT(4)的取值范围0 ~15;BIT(64)的取值范围为0 ~2^64-1
在这里插入图片描述

2、日期和时间类型

请添加图片描述
请添加图片描述

2.1、T I M E 类型

TIME类型专门用来存储时间数据,如果不需要记录日期而只需要记录时间,则选择TIME数据类型是最合适的。
1、'D HH :MM:SS[.fraction]'有分隔符格式的字符串。
2、‘HHMMSS[.fraction]’:无分隔符的字符串。
3、HHMMSS[.fraction]:格式的数字。
4、使用CURRENT_TIME、NOW()或者SYSDATE()三种方式获取系统当前时间

2.2、DATE类型

专门用于存储日期数据类型,如果只需要存储日期值而不需要时间部分,则应该选择DATE数据类型
1、‘YYYY-MM-DD’:有分隔符格式的字符串。
2、‘YY-MM-DD’:有分隔符的字符串
3、‘YYYYMMDD’或‘YYMMDD’:无分隔符格式的字符串
4、YYYYMMDD或者YYMMDD格式的数字
5、使用CURRENT_DATE、NOW()或SYSDATE()三种方式获取系统当前时间。

2.3、Y E A R 类型

1、YYYY或者‘YYYY’格式的4位数或字符串
2、Y、YY格式的1~2位数字。
3、‘Y’、‘YY’格式的1~2位数字
4、使用NOW()或者SYSDATE()两种方式获取系统当前年份

2.4、D A T E T I M E 类型

DATETIME类型适用于需要同时存储日期和时间的场合。
1、‘YYYY-MM-DD HH:MM:SS[.fraction]’:有分隔符格式的字符串。
2、‘YY-MM-DD HH:MM:SS[.fraction]’:有分隔符格式的字符串。
3、‘YYYYMMDDHHMMSS[.fraction]’或者‘YYMMDDHHMMSS[.fraction]’:无分隔符格式的字符串
4、YYYYMMDDHHMMSS[.fraction]或者YYMMDDHHMMSS[.fraction]格式的数字
5、使用NOW()或SYSDATE()三种方式获取系统当前时间。

2.5、T I M E S T A M P 类型

TIMESTAMP类型与DATETIME类型相似,都是存储日期与时间的。
区别:
1、数据的取值范围不同,timesetamp类型的取值范围更小
2、如果对timestamp类型的字段没有明确赋值,或是被赋予了NULL,mysql会自动将字段赋值为系统当前日期和时间
3、TIMESETAMP类型有一个显著特点,那就是时间是根据时区来显示
4、TIMESTAMP类型还可以使用CURRENT_TIMESETAMP来获取系统当前时间

3、字符串类型

请添加图片描述
请添加图片描述

3.1、C H A R 和 V A R C H A R 类型

~两种类型相似,均用于存储较短的字符串,主要不同之处在于存储方式。CHAR类型长度固定,VARCHAR类型长度可变。
请添加图片描述

3.2、B I N A R Y 和V A R B I N A R Y 类型

~这两种类型与上两种类型相似,只不过前者用来存储二进制字符串,而非字符型字符串,这两种并没有字符集的概念,排序与比较都按照二进制计算。其中BINARY长度固定,VARBINARY类型长度可变。
请添加图片描述

3.3、TEXT 和 B L O B 类型

TEXT只能保存文本,BLOB类型与text相似,不同点在于BLOB用于存储二进制数据(音乐、图片、视频、PDF文档等……)

3.4、ENUM 类型

ENUM 类型称枚举类型。它是一个字符串对象
请添加图片描述

3.5、SET类型

~~SET类型也是一个字符串对象,与ENUM类型相似的不相同。SET类型可以从允许值的列表中选择多个字符串成员,其列表的设定方式与ENUM相似,但SER列表中字符串成员的个数范围0~64。
请添加图片描述

~~除此之外还需遵守几大原则
请添加图片描述

4、JSON类型

4.1、什么是JSON数据呢?

JSON是一种轻量级的数据交换格式,采用了独立于语言的文本格式,类似于XML但比它简单,易编写。

4.2、JSON数据类型优势

1、存储在JSON列中的JSON文档会被自动验证,无效的文档会产生错误
2、最佳存储模式。

注意:
请添加图片描述

5、运算符与表达式

5.1、算术运算符

请添加图片描述

5.2、比较运算符

请添加图片描述

5.3、逻辑运算符

请添加图片描述

5.4、位运算符

请添加图片描述

5.5、表达式

表达式就是常量、变量、列名、运算符、函数的组合。

5.6、优先级

请添加图片描述

小结:

熟能生巧,要多练题才能记得牢靠,在此博主知识对书上的知识点稍微做了一个简单的总结,便于日后查看。同时如果本篇对你有所帮助的话,麻烦点个赞支持一下哟(^U^)ノ~YO
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值