千家信息网

四、MySQL的数据类型和运算符

发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,4.1、MySQL数据类型介绍MySQL支持多种数据类型,主要有数值类型、日期/时间类型和字符串类型。数值数据类型:包括整数类型 TINYINT、SMALLINT、MEDIUMINT、INT、BIFI
千家信息网最后更新 2025年11月08日四、MySQL的数据类型和运算符

4.1、MySQL数据类型介绍

MySQL支持多种数据类型,主要有数值类型、日期/时间类型和字符串类型。

数值数据类型:

包括整数类型 TINYINT、SMALLINT、MEDIUMINT、INT、BIFINT、

浮点小数据类型 FLOAT、DOUBLE

定点小数类型 DECIMAL

日期/时间类型:

YEAR、TIME、DATE、DATETIME、TIMESTAMP

字符串类型:

CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM、SET

整数类

MySQL中的整数型数据类型

类型名称说明存储需求
TINYINT很小的整数1个字节
SMALLINT
小的整数2个字节
MEDIUMINT
中等大小的整数3个字节
INT
普通大小的整数4个字节
BIGINT
大整数5个字节

不同整数类型的取值范围

数据类型有符号无符号
TINYINT-128~1270-255
SMALLINT-32768~327670~65535
MEDIUMINT-8388608~83886070~16777215
INT-2147483648~21474836470~4294967295
BIGINT-9223372036854775808~92233720368547758070~18446744073709551615
mysql> CREATE TABLE tmp1(x TINYINT,y SMALLINT,z MEDIUMINT,m INT,n BIGINT);Query OK, 0 rows affected (0.05 sec)mysql> DESC tmp1;+-------+--------------+------+-----+---------+-------+| Field | Type         | Null | Key | Default | Extra |+-------+--------------+------+-----+---------+-------+| x     | tinyint(4)   | YES  |     | NULL    |       || y     | smallint(6)  | YES  |     | NULL    |       || z     | mediumint(9) | YES  |     | NULL    |       || m     | int(11)      | YES  |     | NULL    |       || n     | bigint(20)   | YES  |     | NULL    |       |+-------+--------------+------+-----+---------+-------+5 rows in set (0.00 sec)

浮点数类型和定点数类型


数据类型说明存储需求
FLOAT
单精度浮点数4个字节
DOUBLE
双精度浮点数8个字节
DECIMAL(M,D)
压缩的"严格"定点数M+2个字节
mysql> CREATE TABLE tmp2 (x FLOAT(5,1), y DOUBLE(5,1),z DECIMAL(5,1));Query OK, 0 rows affected (0.02 sec)mysql> DESC tmp2;+-------+--------------+------+-----+---------+-------+| Field | Type         | Null | Key | Default | Extra |+-------+--------------+------+-----+---------+-------+| x     | float(5,1)   | YES  |     | NULL    |       || y     | double(5,1)  | YES  |     | NULL    |       || z     | decimal(5,1) | YES  |     | NULL    |       |+-------+--------------+------+-----+---------+-------+3 rows in set (0.00 sec)

日期与时间类型


类型名称日期格式日期范围存储需求
YEARYYYY1901~21551字节
TIME
HH:MM:SS-838:59:59~838:59:593字节
DATEYYYY-MM-DD1000-01-01~9999-12-313字节
DATETIME
YYYY-MM-DD HH:MM:SS

1000-01-01 00:00:00~

9999-12-31 23:59:59

8字节
TIMESTAMP
YYYY-MM-DD HH:MM:SS

1970-01-01 00:00:01 utc~

2038-01-19 03:14:07 utc

4字节


文本字符串类型


类型名称说明存储需求
CHAR(M)固定长度非二进制字符串M字节, 1<=M<=255
VARCHAR(M)变长非二进制字符串L+1字节,L<=M和 1<=M<=255
TINYTEXT非常小的非二进制字符串L+1字节,L<2^8
TEXT
小的非二进制字符串L+2字节,L<2^16
MEDIUMTEXT
中等大小的二进制字符串L+3字节,L<2^24
LONGTEXT
大的非二进制字符串L+4字节,L<2^32
ENUM
枚举类型,只能有一个枚举字符串值1或2个字节,取决于枚举值的数目(最大值65535)
SET

一个设置,字符串对象可以有零个或

多个SET成员

1,2,3,4或8个字节,取决于集合成员的数量(最多64个成员)


二进制字符串类型

类型名称说明存储需求
BIT(M)位字段类型大约(M+7)/8个字节
BINARY(M)
固定长度二进制字符串M个字节
VARBINARY(M)
可变长度二进制字符串M+1个字节
TINYBLOB(M)
非常小的BLOBL+1字节,L<2^8
BLOB(M)
小BLOBL+2字节,L<2^16
MEDIUMBLOB(M)
中等大小的BLOBL+3字节,L<2^24
LONGBLOB(M)
非常大的BLOBL+4字节,L<2^32

4.2、常见运算符介绍

运算符连接表达式中各个操作数,其作用是用来指明对操作数所进行的运算。运用运算符可以更加灵活地使用表中的数据,常见的运算符类型有:算术运算符、比较运算符、逻辑运算符、位运算符。

算术运算符

算术运算符是SQL中最基本的运算符,包括加、减、乘、除、求余。

运算符作用
+加法运算
-
减法运算
*
乘法运算
/
除法运算,返回商
%
求余运算,返回余数
mysql> CREATE TABLE tmp14 (num INT);Query OK, 0 rows affected (0.03 sec)mysql> INSERT INTO tmp14 value(64);Query OK, 1 row affected (0.01 sec)mysql> SELECT num,num+10,num-3+5,num+36.5 FROM tmp14;+------+--------+---------+----------+| num  | num+10 | num-3+5 | num+36.5 |+------+--------+---------+----------+|   64 |     74 |      66 |    100.5 |+------+--------+---------+----------+1 row in set (0.00 sec)mysql> SELECT num,num/0,num%0 FROM tmp14;+------+-------+-------+| num  | num/0 | num%0 |+------+-------+-------+|   64 |  NULL |  NULL |+------+-------+-------+1 row in set (0.00 sec)

比较运算符


运算符作用
=等于
<=>
安全的等于
<>(!=)
不等于
<=
小于等于
>=
大于等于
>
大于
IS NULL判断一个值是否为NULL
IS NOT NULL
判断一个值是否不为NULL
LEAST
有两个或多个参数时,返回最小值
GREATEST两个或多个参数时,返回最大值
BETWEEN AND
判断一个值是否落在两个值之间
ISNULL与IS NULL 作用相同
IN
判断一个值是IN列表中任意一个值
NOT IN判断一个值不是IN列表中任意一个值
LIKE
通配符匹配
REGEXP
正则表达式匹配


逻辑运算符


运算符作用
NOT或者|逻辑非
AND或者&&
逻辑与
OR 或者||
逻辑或
XOR
逻辑异或


位运算符


运算符作用
|位或
&位与
^
位异或
<<
位左移
>>
位右移
~位取反,反转所有位

运算符的优先级


优先级运算符
最低=(赋值运算),:=

||,OR

XOR

&&,AND

NOT

BETWEEN,CASE,WHEN,THEN,ELSE

=(比较运算),<=>,>=,>,<=,<,<>,!=,IS,LIKE,REGEXP,IN

|

&

<<,>>

-,+

*,/(DIV),%(MOD)

^

-(符号),~(位反转)


最高


运算 字节 类型 运算符 字符 字符串 二进制 整数 数据 作用 逻辑 日期 点数 需求 存储 名称 大小 两个 多个 成员 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 写代码服务器关了 mysql 数据库故障 无锡物联网智慧医院软件开发 深信服 网络安全审计日志 以网络安全宣传为手抄报 日立手持服务器调试 易游服务器密码一般是多少 腾讯微信服务器会保存聊天记录吗 服务器 58 天龙八部端游电信服务器 sql数据库编程语言 墨尔本大学的网络安全专业 小米商城登录显示服务器错误 不需要安装程序的数据库 根据网络安全法规定公安部门 华为服务器操作系统中文名 在小学宣讲网络安全PPT 涪陵区技术软件开发服务代理商 网络服务器管理实训 数据库技术真题 网络安全对国家安全的危害 软件开发工程师电脑壁纸 邯郸电脑软件开发服务费 山西网络技术转让厂家批发价 云盘搭建云服务器 浪潮猎鹰服务器管理软件下载 广州t3出行有多少服务器 信息科技 互联网的发展 网络安全宣传画幼儿园作业 人民银行软件开发中心邮编
0