MySQL中的数据类型

MySQL中的数据类型有很多,对于我们开发者来说主要分为三类:数值类型、字符串类型、日期时间类型。

数值类型

类型 大小 (bytes) 有符号 (SIGNED) 范围 无符号 (UNSIGNED) 范围 描述
TINYINT 1 字节 -128 到 127 0 到 255 非常小的整数
SMALLINT 2 字节 -32768 到 32767 0 到 65535 小整数
MEDIUMINT 3 字节 -8388608 到 8388607 0 到 16777215 中等大小的整数
INT/INTEGER 4 字节 -2147483648 到 2147483647 0 到 4294967295 标准整数
BIGINT 8 字节 -9223372036854775808 到 9223372036854775807 0 到 18446744073709551615 大整数
FLOAT 4 字节 -3.402823466E+38 到 3.402823466E+38 0 到 3.402823466E+38 单精度浮点数
DOUBLE 8 字节 -1.7976931348623157E+308 到 1.7976931348623157E+308 0 到 1.7976931348623157E+308 双精度浮点数
DECIMAL 用户定义 用户定义 依赖于M(精度)和D(标度)的值 用户定义 依赖于M(精度)和D(标度)的值 精确的小数,用户定义精度

解释一下 M(精度)和D(标度) 假如有个数是 12.4546,精度就是数字总位数 6 ,标度就是小数点位数 4。

无符号整型适合年龄字段 – 不会出现负数且人的年龄不会太大

age tinyint unsigned;

分数 – 总分100分,最多出现一位小数

score double(4,1);

字符串类型

类型 大小 (bytes) 描述
CHAR 0-255 字节 固定长度的字符串 (需要指定长度)
VARCHAR 0-65535 字节 可变长度的字符串 (需要指定长度)
TINYBLOB 最大 255 字节 不超过255个字符的小二进制数据
TINYTEXT 最大 255 字符 短文本字符串
BLOB 最大 65535 字节 二进制形式的长文本数据
TEXT 最大 65535 字符 长文本数据
MEDIUMBLOB 最大 16777215 字节 二进制形式的中等长度(大小)文本数据
MEDIUMTEXT 最大 16777215 字符 中等长度的文本字数据
LONGBLOB 最大 4294967295 字节 二进制形式的大型文本数据
LONGTEXT 最大 4294967295 字符 大型文本数据

char 与 varchar 都可以描述字符串,char是定长字符串,指定长度多长,就占用多少个字符(未使用部分会使用空格填充),和字段值的长度无关 。而varchar是变长字符串,指定的长度为最大占用长度

相对来说,char 的性能会更高些,因为varchar需要根据存储的内容计算占用的空间。

username varchar(50); -- 用户名
gender char(1); --性别
IdCard char(19); --身份证

BLOB的是用来描述二进制数据的。可以存储一些文件,例如安装包、图片、视频或者音频,不过不推荐这样做(性能不高而且不方便管理)。

日期时间类型

类型 大小 (bytes) 范围 格式 描述
DATE 3 字节 1000-01-01 到 9999-12-31 ‘YYYY-MM-DD’ 日期
TIME 3 字节 ‘-838:59:59’ 到 ‘838:59:59’ ‘HH:MM:SS’ 时间或持续时间
YEAR 1 字节 1901 到 2155 ‘YYYY’ 年份
DATETIME 8 字节 1000-01-01 00:00:00 到 9999-12-31 23:59:59 ‘YYYY-MM-DD HH:MM:SS’ 混合日期和时间
TIMESTAMP 4 字节 1970-01-01 00:00:01 UTC 到 2038-01-19 03:14:07 UTC ‘YYYY-MM-DD HH:MM:SS’ 时间戳 混合日期和时间值

生日字段 birthday

birthday date;

创建时间 createTime

createtime datetime;

本篇仅介绍了开发中常见的数据类型,MySQL 官方文档详细介绍了各种数据类型。

有关更多详细信息和其他数据类型的描述,请参考 MySQL 8.0 官方文档。这里可以找到所有数据类型的完整介绍和使用指南。

相关推荐

  1. MySQL数据类型

    2024-07-19 07:10:05       47 阅读
  2. MySQL数据类型

    2024-07-19 07:10:05       22 阅读
  3. MySQL常用数据类型

    2024-07-19 07:10:05       61 阅读
  4. MySQLSET数据类型详解

    2024-07-19 07:10:05       49 阅读
  5. MySQL常用数据类型

    2024-07-19 07:10:05       45 阅读
  6. 2.MySQL数据类型

    2024-07-19 07:10:05       35 阅读
  7. mysql二进制数据类型

    2024-07-19 07:10:05       19 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-19 07:10:05       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-19 07:10:05       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-19 07:10:05       57 阅读
  4. Python语言-面向对象

    2024-07-19 07:10:05       68 阅读

热门阅读

  1. ESC(ELectronic Stability Control,电子稳定控制系统)

    2024-07-19 07:10:05       19 阅读
  2. PWM控制技术在电机驱动中的应用(内附资料)

    2024-07-19 07:10:05       21 阅读
  3. Eclipse 内容辅助

    2024-07-19 07:10:05       20 阅读
  4. 01 MySQL

    01 MySQL

    2024-07-19 07:10:05      19 阅读
  5. ZPL Viewer工具网站

    2024-07-19 07:10:05       21 阅读
  6. Selenium - 设置元素等待及加载策略

    2024-07-19 07:10:05       16 阅读
  7. RabbitMq

    RabbitMq

    2024-07-19 07:10:05      16 阅读
  8. vite + vue3 + uniapp 项目从零搭建

    2024-07-19 07:10:05       22 阅读
  9. React中Hooks几个有用的 ref

    2024-07-19 07:10:05       19 阅读
  10. Android RecyclerView实现Item单条滑动,一屏滑动

    2024-07-19 07:10:05       17 阅读
  11. crc、ecc、 uboot和 boot的原理分析及详解

    2024-07-19 07:10:05       22 阅读