DBA 必备的 Mysql 知识点:数据类型和运算符
本文分享自华为云社区《Mysql中的数据类型和运算符》,作者: 1+1=王。
Mysql 的数据类型
Mysql 支持数值型、文本型和日期时间型三大数据类型。
数值型数据
数值型是描述定量数据的数据类型,包括整数型数据类型和浮点型数据类型。
整数型数据类型
整数型数据类型包括 INTEGER、SMALLINT、TINYINT、MEDIUMINT 和 BIGINT 五种长度不同的类型。
根据占用字节数可以求出每一种数据类型的取值范围,例如:
TINYINT 需要 1 字节(即 8bits),那么 TINYINT 无符号数的取值的最大值为 2^8^-1=255;有符号数的最大值为 2^7^-1=127。
浮点型型数据类型
Mysql 中浮点型数据类型包括浮点型(单精度 FLOAT、双精度 DOUBLE)和定点型(DECIMAL)。
此类数据可以用(M,N)来表示,其中 M 称为精度,表示总位数;N 称为标度,表示小数的位数。
例如:
FLAOT(8,3)表示是 FLOAT 类型,数据长度为 8,小数点后保留 3 位。
字符型数据
字符型数据可以用来存储字符串、图片和声音的二进制数据。MYsql 中的字符型数据有 CHAR、VARCHAR、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT、ENUM、SET 和二进制形式文本数据等。
字符串数据
定长字符串 CHAR(M):固定长度的字符串。在定义的时候需要定义字符串长度为 M(0~255),==保存时,在右侧填充空格已达到指定长度。==
变长字符串 VARCHAR(M),长度可变的字符串。M(0~65535)表示最大长度,实际占用为字符串的实际长度加 1。
文本类型数据
文本类型可以保存非二进制字符串。当保存或查询文本类型的值时,不删除尾部空格。
枚举类型数据
枚举字符串(ENUM)是一个字符串对象,语法格式如下:<字段名> ENUM('值 1', '值2', ..., '值n')
ENUM 的特点如下:
取值时,在指定的枚举列表中获取,一次只能获取一个。
如果创建的成员中有空格,尾部的空格将被自动删除。
ENUM 值的内部用整数表示(索引编号),最多可以有 65535 个元素。
ENUM 值按照索引顺序排列,空字符串排在非空字符串前面,NULL 值排在其他所有枚举值之前。
ENUM 存在默认值。声明为 NULL 时,默认值为 NULL;声明为 NOT NULL 时,默认值为允许的值列表的第一个元素。
SET 类型数据
SET 是一个字符串对象,语法格式如下:<字段名> SET('值 1', '值2', ..., '值n')
SET 的特点如下:
SET 内部用整数表示(索引编号),最多可以有 64 个元素;
SET 成员中有空格,尾部的空格将被自动删除。
SET 的值可以从定义的元素值中选择多个联合。
二进制形式的文本数据
二进制数据类型用于存储图像、有格式的文本(Word、Excel 等)、音频等数据。
日期时间型数据
Mysql 中的日期和时间数据包括 YEAR、TIME、DATE、DATETIME 和 TIMESTAMP。
Mysql 的运算符
算数运算符
比较运算符
逻辑运算符
版权声明: 本文为 InfoQ 作者【华为云开发者联盟】的原创文章。
原文链接:【http://xie.infoq.cn/article/9c1114b86f7e24fbef417d189】。文章转载请联系作者。
评论