四、MySQL的数据类型和运算符
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,4.1、MySQL数据类型介绍MySQL支持多种数据类型,主要有数值类型、日期/时间类型和字符串类型。数值数据类型:包括整数类型 TINYINT、SMALLINT、MEDIUMINT、INT、BIFI
千家信息网最后更新 2026年11月02日四、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~127 | 0-255 |
| SMALLINT | -32768~32767 | 0~65535 |
| MEDIUMINT | -8388608~8388607 | 0~16777215 |
| INT | -2147483648~2147483647 | 0~4294967295 |
| BIGINT | -9223372036854775808~9223372036854775807 | 0~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)
日期与时间类型
| 类型名称 | 日期格式 | 日期范围 | 存储需求 |
| YEAR | YYYY | 1901~2155 | 1字节 |
| TIME | HH:MM:SS | -838:59:59~838:59:59 | 3字节 |
| DATE | YYYY-MM-DD | 1000-01-01~9999-12-31 | 3字节 |
| 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) | 非常小的BLOB | L+1字节,L<2^8 |
| BLOB(M) | 小BLOB | L+2字节,L<2^16 |
| MEDIUMBLOB(M) | 中等大小的BLOB | L+3字节,L<2^24 |
| LONGBLOB(M) | 非常大的BLOB | L+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安全错误
数据库的锁怎样保障安全
科技互联网
互联网科技公司
互联网科技巨头监管
互联网与科技金融数据
上海互联网科技有限公司
奔汉互联网科技
互联网 视角下的科技创新
西藏七维空间互联网科技有限公司
移动互联网科技股
互联网企业和科技型企业
受益于互联网科技的高速发展
彤创互联网科技有限公司
浙江互联网科技研学营
互联网科技扶贫时间
互联网科技实习生岗位
广东工业互联网大赛深圳学泰科技
启辰互联网科技
上海互联网科技公司ppt
互联网时代科技型公司的机会
互联网科技快速发展优美句子
亿人帮互联网科技有限公司
互联网科技财经
上海挚品互联网科技
郑州华宇互联网科技
上海万想互联网科技
中化能源互联网科技招聘
恒生互联网科技指数跳水
翼展科技 首家互联网医院
上海创道互联网络科技有限公司
美国五大互联网科技公司市值多少