MySQL 5.7 - 常见数据类型

写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成,愿将昔日所获与大家交流一二,希望对学习路上的你有所助益。同时,博主也想通过此次尝试打造一个完善的技术图书馆,任何与文章技术点有关的异常、错误、注意事项均会在末尾列出,欢迎大家通过各种方式提供素材。

  • 对于文章中出现的任何错误请大家批评指出,一定及时修改。
  • 有任何想要讨论和学习的问题可联系我:zhuyc@vip.163.com。
  • 发布文章的风格因专栏而异,均自成体系,不足之处请大家指正。

MySQL 5.7 - 常见数据类型

本文关键字:MySQL、数据类型、文本类型、数字类型、日期类型


数据类型是数据库的一个重要组成部分,在MySQL数据库中可将数据类型分为三大类:Text类型(文本类型)、Number类型(数字类型)、Date类型(日期类型)。

一、Text类型

Text类型为本文类型,也就是我们在编程中常说的字符串,同时由于可以进行序列化、反序列化等等的操作,我们甚至于可以直接将文件转换后存入数据库(但通常我们不会这样做)。

1. CHAR

  • 最大长度:255
  • 内容限制:字母、数字及特殊字母,正确设置编码后可以存入中文等字符
  • 特点:长度固定,占用空间较大,效率稍高

2. VARCHAR

  • 最大长度:255
  • 内容限制:字母、数字及特殊字母,正确设置编码后可以存入中文等字符
  • 特点:长度可变,需要同时记录数据本身和占用的空间大小,可适度节省磁盘空间,效率稍低

3. TINYTEXT

  • 最大长度:255
  • 内容限制:字母、数字及特殊字母,正确设置编码后可以存入中文等字符
  • 特点:存储方式上有所不同,不会和行数据存在一起

4. TEXT

  • 最大长度:65,535
  • 内容限制:字母、数字及特殊字母,正确设置编码后可以存入中文等字符
  • 其他相似类型
    • MEDIUMTEXT:最大长度为16,777,215
    • LONGTEXT:最大长度为4,294,967,295

5. BLOB

  • 最多存放:65,535字节
  • 内容限制:Binary Large OBjects(二进制长对象)
  • 其他相似类型
    • MEDIUMBLOB:最多存放16,777,215字节
    • LONGBLOB:最多存放4,294,967,295字节

6. ENUM

  • 最大个数:65,535
  • 内容限制:字符串类型,存储的数据只能是在ENUM中已罗列出的值,或为NULL

7. SET

  • 最大个数:64
  • 内容限制:字符串类型,存储的数据只能是在SET中已罗列出的值
  • 特点:可以存储进多个SET中已声明的元素,但是不会重复存入相同的元素

二、Number类型

Number类型为数字类型,主要用于存储整数和小数,长度部分代表数据的最大位数,而不是最大值

1. TINYINT

  • 数据范围
    • 常规:-128~127
    • 无符号:0~255
  • 内容限制:整数

2. INT

  • 数据范围
    • 常规:-2,147,483,648~2,147,483,647
    • 无符号:0~4,294,967,295
  • 内容限制:整数
  • 相似类型
    • SMALLINT:-32768~32767 (常规),0~65535(无符号)
    • MEDIUMINT:-8,388,6088,388,607(常规),016,777,215(无符号)

3. BIGINT

  • 数据范围
    • 常规:-9,223,372,036,854,775,808~9,223,372,036,854,775,807
    • 无符号:0~18,446,744,073,709,551,615
  • 内容限制:整数

4. FLOAT

  • 数据范围
    • 总位数:0~23
    • 小数位:0~4
  • 内容限制:小数或整数

5. DOUBLE

  • 数据范围
    • 总位数:0~53
    • 小数位:0~8
  • 内容限制:小数或整数

6. DECIMAL

  • 数据范围
    • 总位数:0~65
    • 小数位:0~30
  • 内容限制:小数或整数

三、Date类型

Date类型为日期类型,用于记录时间格式的数据。通常会以日期格式的字符串时间戳或部分日期信息的形式来进行记录。

1. DATE

  • 显示格式:YYYY-MM-DD
  • 起止范围:‘1000-01-01’ 到 ‘9999-12-31’

2. DATETIME

  • 显示格式:YYYY-MM-DD hh:mm:ss
  • 起止范围:‘1000-01-01 00:00:00’ 到 ‘9999-12-31 23:59:59’

3. TIMESTAMP

  • 显示格式:时间戳(长整形)
  • 起止范围:‘1970-01-01 00:00:01’ UTC 到 ‘2038-01-19 03:14:07’ UTC

4. TIME

  • 显示格式:hh:mm:ss 或 hhh:mm:ss
  • 起止范围:’-838:59:59’ 到 ‘838:59:59’

5. YEAR

  • 显示格式:YYYY
  • 起止范围:1901 到 2155,或0000
  • 备注:一般使用0,00,0000代表2000年,在严格模式下,0000是一个非法的值

在这里插入图片描述

小山猪的沙塔 CSDN认证博客专家 全栈开发工程师 大数据高级开发 大数据金牌讲师
若非一番寒彻骨,哪得梅花扑鼻香。全栈开发工程师,大数据高级开发工程师。大数据金牌讲师,知名机构合作讲师,各云大学及平台合作讲师,高校外聘讲师。微信公众号:微光点亮星辰,在学习的道路上一同见证点点滴滴。