文章目录
一、数据类型
MySQL数据库支持多种数据类型,其中有数值类型
、日期/时间类型
以及字符串类型
。
1.1 数值类型
整数类型:
详细如下表:
注意:在整数类型
后面加括号,如 int(4)
则括号中的内容表示 指定要显示的宽度,而不是该类型占用的字节数,它们所占的字节数都是上表中固定好了的。若不显示指定宽度则采用默认。
注意:
数值位数小于指定显示宽度(或默认)时,系统会使用空格填充(使用zerofill
关键字则使用 ‘0’ 填充)。
当数值位数大于指定显示宽度时,只要数值不大于该类型整数的取值范围,则一样可以插入并显示。
浮点数据类型
:
浮点类型和**定点类型(DECIMAL)**也可以使用(M, N)表示,
其中,M称为精度
,表示总共的位数;N称为标度
,表示小数的位数。
若数值超出精度范围,则会四舍五入
进行处理。
1.2 时间与日期类型
在时间与日期类型中,每一个类型都将会有一个合法的取值范围,当赋予的值不合法时,系统会使用‘0’代替。
1.3 字符串类型
在字符串类型中又可以将其分为三类:
- 文本字符串类型(CHAR和VARCHAR)
- 可变类型(TEXT和BLOB)
- 特殊类型(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 位运算符
运算符优先级
如图: