MySQL数据类型以及运算符

一、数据类型

MySQL数据库支持多种数据类型,其中有数值类型日期/时间类型以及字符串类型

1.1 数值类型

整数类型:

详细如下表:
在这里插入图片描述

在这里插入图片描述

注意:在整数类型后面加括号,如 int(4)
在这里插入图片描述
则括号中的内容表示 指定要显示的宽度,而不是该类型占用的字节数,它们所占的字节数都是上表中固定好了的。若不显示指定宽度则采用默认。
注意:
数值位数小于指定显示宽度(或默认)时,系统会使用空格填充(使用zerofill关键字则使用 ‘0’ 填充)。
当数值位数大于指定显示宽度时,只要数值不大于该类型整数的取值范围,则一样可以插入并显示。
在这里插入图片描述
浮点数据类型
在这里插入图片描述
浮点类型和**定点类型(DECIMAL)**也可以使用(M, N)表示,
其中,M称为精度,表示总共的位数;N称为标度,表示小数的位数。
若数值超出精度范围,则会四舍五入进行处理。
在这里插入图片描述

1.2 时间与日期类型

在时间与日期类型中,每一个类型都将会有一个合法的取值范围,当赋予的值不合法时,系统会使用‘0’代替。
在这里插入图片描述

1.3 字符串类型

在字符串类型中又可以将其分为三类:

  1. 文本字符串类型(CHAR和VARCHAR)
  2. 可变类型(TEXT和BLOB)
  3. 特殊类型(SET和ENUM)

在这里插入图片描述

1.3.1 文本字符串类型

CHAR(M): 固定长度字符串,在定义时指定字符串列长。
M: 列长度,0 <= M <= 255
VARCHAR(M): 长度可变字符串。
M: 列长度,0 <= M <= 65535
区别如下图:
在这里插入图片描述

1.3.2 可变类型(TEXT和BLOB)

大小可变。
TEXT适合存储长文本(非二进制字符串)。
BLOD适合存储二进制数据。

1.3.3 特殊类型(SET和ENUM)

Enum值在内部会用整数表示,每一个枚举值均有一个索引值。默认编号从1开始。
如果Enum类型加上了NOT NULL属性,其默认值为取值列表的第一个元素。如果不加NOT NULL属性,ENUM类型将允许插入NULL,而且NULL为默认值。
SET是一个字符串对象,基本形式与ENUM类型一样。SET类型的值可以取列表中的一个元素或者多个元素的组合。取多个元素时,不同元素之间用逗号隔开。SET类型的值最多只能是由64个元素构成的组合。在这里插入图片描述
二进制字符串类型:
在这里插入图片描述

二、运算符

2.1 比较运算符

在这里插入图片描述

2.2 逻辑运算符

在这里插入图片描述

2.3 算数运算符

在这里插入图片描述

2.4 位运算符

在这里插入图片描述

运算符优先级

如图:
在这里插入图片描述

Guess you like

Origin blog.csdn.net/qq_45337964/article/details/110562783