四、MySQL的数据类型和运算符
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,4.1、MySQL数据类型介绍MySQL支持多种数据类型,主要有数值类型、日期/时间类型和字符串类型。数值数据类型:包括整数类型 TINYINT、SMALLINT、MEDIUMINT、INT、BIFI
千家信息网最后更新 2025年01月21日四、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安全错误
数据库的锁怎样保障安全
ebay数据库管理系统技术架构
广东无限软件开发销售厂
网络安全小报图片
英特尔x86服务器
筱仙网络技术
我的世界新龙珠服务器
破解网站数据库地址
在线网络安全课程培训
为什么要查看服务器日志
软件开发交付逾期
山东潍坊网络安全宣传
信息网络安全督察
供销社网络安全宣传周
二零二一年国家网络安全周
IP网络技术定义
网信杯网络安全技能竞赛难嘛
公司网络安全工作要点
合力保卫网络安全制度
成都360网络安全体验中心
c 创建数据库临时表
福州飞沃网络技术有限公司
服务器资源占用简述
国家网络安全战略 美国
幼儿园幼儿网络安全活动方案
足球即时球探比分数据库
厦门易佳网络技术有限公司
网络安全主题活动方案开场导语
诺顿 服务器
服务器系统无法进入登录界面
阿里云服务器系统升级